如何从传单地图中删除标记
How to remove a marker from leaflet map
我的传单地图中有一个标记,例如
marker = new L.Marker([lat,lon],{icon:flagIcon,title: "Drage me to change your location"}).addTo(map);
marker.dragging.enable();
marker.on('dragend', function(e){
var coords = e.target.getLatLng();
var lat = coords.lat;
var lon = coords.lng;
console.log("Lat : "+lat+" Lng: "+lon);
document.getElementById("lat").value=lat;
document.getElementById("long").value=lon;
document.getElementById("placeName").value="location on map";
updateAnchor();
map.panTo({lon:lon,lat:lat})
if(flag!=0){
map.removeLayer(cir);
cir = L.circle([lat,lon],circleOptions).addTo(map);
refreshMarkers(flag);
}
});
如果标记已经存在,我想将其删除,并添加一个新的 one.For,我添加了类似
的代码
if (marker) {
map.removeLayer(marker); // remove
}
但是我无法删除旧的 marker.How 来解决这个问题
尝试:
if (map.hasLayer(marker)) {
map.removeLayer(marker); // remove
}
如果这没有帮助,请为您的问题添加更多代码,您希望何时删除标记以及如何添加新标记
您要添加的 marker
与地图上已有的 marker
不是同一个对象。如果您希望稍后能够引用(例如删除)标记,请在全局中保存标记对象的副本。
var oldmarker;
marker = <your code here>
oldmarker = marker;
然后
if (map.hasLayer(oldmarker)) {
map.removeLayer(oldmarker);
}
我的传单地图中有一个标记,例如
marker = new L.Marker([lat,lon],{icon:flagIcon,title: "Drage me to change your location"}).addTo(map);
marker.dragging.enable();
marker.on('dragend', function(e){
var coords = e.target.getLatLng();
var lat = coords.lat;
var lon = coords.lng;
console.log("Lat : "+lat+" Lng: "+lon);
document.getElementById("lat").value=lat;
document.getElementById("long").value=lon;
document.getElementById("placeName").value="location on map";
updateAnchor();
map.panTo({lon:lon,lat:lat})
if(flag!=0){
map.removeLayer(cir);
cir = L.circle([lat,lon],circleOptions).addTo(map);
refreshMarkers(flag);
}
});
如果标记已经存在,我想将其删除,并添加一个新的 one.For,我添加了类似
的代码if (marker) {
map.removeLayer(marker); // remove
}
但是我无法删除旧的 marker.How 来解决这个问题
尝试:
if (map.hasLayer(marker)) {
map.removeLayer(marker); // remove
}
如果这没有帮助,请为您的问题添加更多代码,您希望何时删除标记以及如何添加新标记
您要添加的 marker
与地图上已有的 marker
不是同一个对象。如果您希望稍后能够引用(例如删除)标记,请在全局中保存标记对象的副本。
var oldmarker;
marker = <your code here>
oldmarker = marker;
然后
if (map.hasLayer(oldmarker)) {
map.removeLayer(oldmarker);
}