在创建新折线之前从地图上删除所有折线
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在创建新折线之前从地图上删除所有折线相关的知识,希望对你有一定的参考价值。
我正在使用传单来显示地图并创建折线。我想在创建任何新折线之前删除所有折线。
当我创建折线时,
我将所有折线存储在array-$ scope.polycoords = [];
要删除所有折线,我正在使用此代码。
for(var i = 0; i< $scope.polycoords.length; i++){
map.removeLayer($scope.polycoords[i]);
}
但是它不起作用。给我这个错误-错误:map.removeLayer不是函数我该如何解决?
答案
可能对您来说太迟了,但这对我有用:
使用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);
以上是关于在创建新折线之前从地图上删除所有折线的主要内容,如果未能解决你的问题,请参考以下文章