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

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

以上是关于在创建新折线之前从地图上删除所有折线的主要内容,如果未能解决你的问题,请参考以下文章

无法删除谷歌地图片段中的折线

Google Maps API v3 删除所有折线

需要删除最后一条折线并创建当前折线

如何从谷歌地图 api android 中删除多余的折线

仅在设备屏幕的特定部分显示谷歌地图折线

创建自定义地图叠加层(折线)[Mapbox]