我在开放图层地图中添加了一些标记。我想知道当我点击按钮时如何从地图中删除所有内容。我找到了一种方法,但需要多次点击,这很糟糕。
我使用下面的代码删除:
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);
}
答案 0 :(得分:0)
我找到了答案
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);