如何从 openlayer 中删除标记?
how to remove markers from openlayer?
我在打开的图层地图上添加了一些标记。我想知道如何在单击按钮时从地图上删除所有内容。我找到了一种方法来做到这一点,但它需要多次点击,这太糟糕了。
我使用下面的代码删除:
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);
我在打开的图层地图上添加了一些标记。我想知道如何在单击按钮时从地图上删除所有内容。我找到了一种方法来做到这一点,但它需要多次点击,这太糟糕了。
我使用下面的代码删除:
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);