我正在使用传单来显示地图并创建折线。 我想在创建任何新折线之前删除所有折线。
当我创建折线时,
我将所有折线存储在数组中 - $ scope.polycoords = [];
删除所有折线我正在使用此代码。
for(var i = 0; i< $scope.polycoords.length; i++){
map.removeLayer($scope.polycoords[i]);
}
但它不起作用。
给我这个错误 - 错误:map.removeLayer不是函数
我该如何解决这个问题?
答案 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);