ol3 - 刷新单个图层?

时间:2015-05-18 13:28:09

标签: openlayers-3

我想为ol3中的各个层实现set-refresh-interval,但我无法找到通用的解决方案。我发现调用source.changed()会刷新ol.source.TileWMS源,但它不适用于ol.source.TileArcGISRest源。有没有一个通用的解决方案,不涉及刷新整个地图?

1 个答案:

答案 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);

但我不知道它是否有助于你的问题。重绘一层的原因是什么?也许更详细的解释会有所帮助!