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

时间:2017-08-30 04:22:37

标签: leaflet polyline

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

当我创建折线时,

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

使用 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);