我想为ol3中的各个层实现set-refresh-interval,但我无法找到通用的解决方案。我发现调用source.changed()会刷新ol.source.TileWMS源,但它不适用于ol.source.TileArcGISRest源。有没有一个通用的解决方案,不涉及刷新整个地图?
答案 0 :(得分:0)
可以选择“手动”执行此操作。这将是强制重绘。
var features = layer.getFeatures();
layer.clear();
layer.addFeatures(features);
如果您从服务器获取数据 - 这是1秒后的清新效果。 (投影应该改为你的):
var json = new ol.format.GeoJSON();
window.setTimeout(function() {
$.ajax(link, function(data) {
var features = json.readFeatures(data
{featureProjection:"EPSG:3857"});
layer.clear();
layer.addFeatures(features);
});
}, 1000);
但我不知道它是否有助于你的问题。重绘一层的原因是什么?也许更详细的解释会有所帮助!