我已经查看了有关从Leaflet地图中删除标记的其他几个答案,但是似乎都没有解决我的特定问题。
我的标记弹出窗口有一个按钮,当单击该按钮时,将调用add()
函数。我想在该功能中从地图上删除标记。
如果我手动传递变量名称,例如,我可以删除标记; marker_two
,但是我该如何动态地做到这一点?
function popupContents(title, id) {
return title + '<br><button onclick="add(' + id + ')">Add</button>';
}
var marker_one = L.marker(map.unproject([2099, 11180], map.getMaxZoom())).bindPopup(popupContents('Marker One'));
var marker_two = L.marker(map.unproject([3999, 12140], map.getMaxZoom())).bindPopup(popupContents('Marker Two'));
function add(id) {
// how to remove the marker dynamically?
map.removeLayer(marker_two);
// this works as is
map.closePopup();
}