正如标题所说。我希望能够重新加载地图上显示的图层。有没有办法(直接)这样做?
所以不是map.render()或map.renderSync(),因为这些渲染只会在滚动或更改视图后更改视图。
答案 0 :(得分:0)
要重新加载geojson矢量图层,您必须先将其清除,然后再按照您在第一时间所做的相同操作:加载de layer并设置图层来源:
vectorLayerSource.clear();
loadVectorLayer(url);
加载geojson图层的步骤取决于你的配置,假设你在外部geojson文件中有它,你可以这样做(使用jquery):
function loadVectorLayer(url) {
$.when(
$.getJSON(url, {})
.done (function(data) {
var features = (new ol.format.GeoJSON()).readFeatures(data);
vectorLayerSource.addFeatures(features);
})
.fail(function(data) {
console.log("geojson error in "+url);
})
).then(function() {
console.log("geojson file "+url+" loaded");
});
}