gpt4 book ai didi

javascript - OL3 : force redraw layer

转载 作者:数据小太阳 更新时间:2023-10-29 04:40:36 29 4
gpt4 key购买 nike

我目前正在使用新版本的 OpenLayers OL3 升级 OpenLayers 客户端版本 2.13.1。我的设置包括作为 WMS map 服务器的 Mapserver 和前面提到的 OpenLayers 客户端。

在旧系统中,我支持用户交互,如果用户点击 map 的某个部分, map 文件会再次生成,结果我强制重绘图层以使 map 的某些部分着色。 OL2版本中的代码示例:

$.ajax({
params: ...
success: function (data) {
if (data.success) {
gisLayer.redraw(true);
}
}
});

我想在OL3中得到同样的功能,但是没有重绘功能。我发现了两个有用的函数,但要获得相同的功能还需要做一些额外的事情: - layer.getSource().updateParams(params);和 - map.render();

我还创建了一个稍微复杂一点的示例,在该示例中我让代码正常工作,但获取 WMS 切片的请求包含附加参数作为获取请求唯一性的关键。示例代码如上:

var params = layer.getSource().getParams();
params.t = getUniqueParam();
layer.getSource().updateParams(params);

好的,就是这种情况,我想问的是是否有任何可用的功能,可以强制重绘图层,而无需在 WMS 请求中添加额外的参数?据我所知,“问题”是浏览器缓存图像,如果请求是相同的,那是以前的,浏览器再次显示旧图像。

感谢您的帮助。

最佳答案

你能检查一下这是否有效吗?

yourLayerSource.dispatchChangeEvent(); 

关于javascript - OL3 : force redraw layer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22744112/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com