在创建新折线之前从地图上删除所有折线

问题描述 投票:0回答:1

我正在使用传单来显示地图并创建折线。我想在创建任何新折线之前删除所有折线。

当我创建折线时,

我将所有折线存储在array-$ scope.polycoords = [];

要删除所有折线,我正在使用此代码。

for(var i = 0; i< $scope.polycoords.length; i++){
   map.removeLayer($scope.polycoords[i]);
}

但是它不起作用。给我这个错误-错误:map.removeLayer不是函数我该如何解决?

leaflet polyline
1个回答
0
投票

可能对您来说太迟了,但这对我有用:

使用L.featureGroup()

var active_polyline = L.featureGroup().addTo(map);

创建第一条折线时,将它们通过循环添加到active_polyline中

polyline = L.polyline(mypolyline).addTo(active_polyline);

在创建新的折线之前先清空L.featureGroup(),以删除之前的折线:

active_polyline.clearLayers();

然后创建一个新的:

polyline = L.polyline(mynewpolyline).addTo(active_polyline);
© www.soinside.com 2019 - 2024. All rights reserved.