我正在为用户实现一项功能,以选择与地图上的某个点对应的列表项。我目前能够设置正确的地图中心和缩放级别,但地图图块是空白的,直到我在地图上发生MouseWheelZoom交互。如何让我的WMTS图层更新到新的缩放级别和地图范围?
答案 0 :(得分:0)
原则上,更改WMTS源的tileUrlFunction
将触发刷新,因为这会清除切片缓存。如果你很幸运并且你的WMTS服务器正确使用Etags,那么再次使用相同的url函数将会起作用:
wmtsSource.setTileUrlFunction(wmtsSource.getTileUrlFunction());
如果您的WMTS服务器只设置了过期标头,则必须在网址上附加内容以强制浏览器重新获取它。假设您使用KVP编码与您的WMTS服务器通信,您可以通过执行类似
的操作来实现此目的var random = Math.random();
var originalTileUrlFunction = wmtsSource.getTileUrlFunction();
wmtsSource.setTileUrlFunction(function() {
return originalTileUrlFunction.apply(this, arguments) + '&' + random;
});