我已经开始使用leaflet作为开源 map 了,http://leaflet.cloudmade.com/
以下 jQuery 代码将启用在 map 上点击 map 上的标记的创建:
map.on('click', onMapClick);
function onMapClick(e) {
var marker = new L.Marker(e.latlng, {draggable:true});
map.addLayer(marker);
marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
};
但目前我(在我的代码中)无法删除现有标记,或找到我在 map 上创建的所有标记并将它们放入数组中。任何人都可以帮助我了解如何执行此操作吗?传单文档可在此处获得:http://leaflet.cloudmade.com/reference.html
最佳答案
你必须把你的“变量标记”放在函数之外。稍后您可以访问它:
var marker;
function onMapClick(e) {
marker = new L.Marker(e.latlng, {draggable:true});
map.addLayer(marker);
marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
};
然后:
map.removeLayer(marker)
但是你只能那样拥有最新的标记,因为每次,var 标记都会被最新的标记删除。因此,一种方法是创建一个全局标记数组,然后将标记添加到全局数组中。
关于jquery - Leaflet - 如何查找现有标记并删除标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9912145/