javascript - 从 map 中移除多边形

标签 javascript leaflet

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

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

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

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

关于javascript - 从 map 中移除多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11272552/

相关文章:

leaflet - tilelayer 上的 noWrap 选项仅部分工作

javascript - 基于内部图标的传单簇颜色

javascript - MVC3 Razor - Jquery 的 Foreach 问题

javascript - 映射字典以在 Javascript 中显示下拉值

javascript - 生成 2 个范围之间的日期 (js)

javascript - 如何执行更新 json 源的函数

javascript - 如何更改Leaflet中的多边形 Pane (自定义 Pane )

JavaScript 事件 - 页面加载期间还是之前?

javascript - 在图像的确切 "borders"上链接图像

javascript - 传单 - 标记未显示