如何从开放层中删除标记?

  • 本文关键字:删除 openlayers
  • 更新时间 :
  • 英文 :


我在开放层地图中添加了一些标记。我想知道如何在单击按钮时从地图中删除所有内容。我找到了一种方法来做到这一点,但它需要多次点击,这很糟糕。

我使用以下代码删除:

function ClMap() {
map.getLayers().forEach(function (layer) {
if (layer.P.name != "Main" && layer.P.name != "GIS") {
map.removeLayer(layer);
}
map.removeInteraction(draw);
});
ol.Observable.unByKey(keyClick);
}

我找到了答案

var layersToRemove = [];
map.getLayers().forEach(function (layer) {
if (layer.P.name == "popupMarker") {
//map.removeLayer(layer);
layersToRemove.push(layer);
}
map.removeInteraction(draw);
});
var len = layersToRemove.length;
for(var i = 0; i < len; i++) {
map.removeLayer(layersToRemove[i]);
}
ol.Observable.unByKey(keyClick);

相关内容

  • 没有找到相关文章

最新更新