use*_*933 7 javascript openlayers openlayers-3
我目前正在使用新版本的OpenLayers,OL3升级OpenLayers客户端版本2.13.1.我的设置包括Mapserver作为WMS映射服务器和之前提到的OpenLayers客户端.
在旧系统中,我支持用户交互,如果用户点击地图的某个部分,则会再次生成mapfile,因此我强制重绘图层以使地图的某些部分着色.OL2版本中的代码示例:
$.ajax({
params: ...
success: function (data) {
if (data.success) {
gisLayer.redraw(true);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想在OL3中获得相同的功能,但没有重绘功能.我找到了两个有用的函数,但是为了获得相同的功能还有其他的事情要做: - layer.getSource().updateParams(params); 和 - map.render();
我还创建了一个更复杂的示例,其中我获得了代码,但是获取WMS切片的请求包含额外的参数作为获取请求唯一的关键.示例代码如上:
var params = layer.getSource().getParams();
params.t = getUniqueParam();
layer.getSource().updateParams(params);
Run Code Online (Sandbox Code Playgroud)
好的,就是这种情况,我想问的是,是否有任何可用的功能,可以强制重绘图层,而不在WMS请求中添加aditional参数?AFAIK的"问题"是浏览器缓存图像,如果请求是相同的,那么之前,浏览器会再次显示旧图像.
谢谢你的帮助.
你能检查一下是否可以解决这个问题吗?
yourLayerSource.dispatchChangeEvent();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10864 次 |
| 最近记录: |