从地图中删除多边形

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从地图中删除多边形相关的知识,希望对你有一定的参考价值。

要求:使用Leaflet js maps api,当客户点击标记时,应在Marker下方绘制一个Rectangle,并根据标记居中。然后单击另一个标记应删除以前的矩形,并在新单击的标记下方绘制另一个矩形。

问题:我使用下面的代码绘制一个多边形,我可以看到一个矩形。它在标记上绘制矩形。然后通过单击另一个标记,将绘制一个新的矩形。但旧的矩形也仍然存在。

问题:我应该如何实现该行为,以便在单击新标记时,旧的矩形将从地图中删除?

 //polygon

var latBlockSize = 0.002;
var lngBlockSize = 0.002;
var route = [
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize),
      new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize)
   ];

window.polygon = new L.Polygon(route);

window.map.addLayer(window.polygon);
答案

我自己想通了。

这是解决方案:

window.map.removeLayer(window.polygon);
另一答案

这也是有效的,使用Leaflet 1.2.0进行测试。

window.polygon.remove()

以上是关于从地图中删除多边形的主要内容,如果未能解决你的问题,请参考以下文章

从谷歌地图drawingManager V3中删除多边形

作为多边形在地图上叠加已成功添加,但我无法在我的 ios 8 设备中删除该多边形

百度地图:普通覆盖物,以及多边形覆盖物,及他们的描述信息的添加,修改,删除,查看功能,还有多边形根据名称查询功能;

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

如何从片段外部清除/重置地图?

Android,如何从 Google Map V2 中删除所有标记?