如何从openlayer中删除标记?

时间:2018-06-11 12:16:37

标签: 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);
        }

1 个答案:

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