(1) dodaj grupę warstw i tablicę, aby przechowywać warstwy i odniesienia do warstw jako zmienne globalne:
var search_group = new L.LayerGroup (); var clickArr = new Array ();
(2) dodaj mapę
(3) Dodaj warstwę grupową do mapy
map.addLayer (search_group);
(4) funkcja dodawania do mapy z wyskakującym okienkiem zawierającym łącze, które po kliknięciu będzie miało opcję usuwania. Ten link będzie miał, jako swój identyfikator, najszerszą długość punktu. Ten identyfikator zostanie następnie porównany z sytuacją, gdy klikniesz na jeden z utworzonych znaczników i zechcesz go usunąć.
map.on('click', function(e) {
var clickPositionMarker = L.marker([e.latlng.lat,e.latlng.lng],{icon: idMarker});
clickArr.push(clickPositionMarker);
mapLat = e.latlng.lat;
mapLon = e.latlng.lng;
clickPositionMarker.addTo(search_group).bindPopup("<a name='removeClickM' id="+e.latlng.lat+"_"+e.latlng.lng+">Remove Me</a>")
.openPopup();
/* clickPositionMarker.on('click', function(e) {
markerDelAgain();
}); */
});
(5) Funkcja usuwania, porównaj długość markera z identyfikatorem uruchomionym w usuwaniu:
$(document).on("click","a[name='removeClickM']", function (e) {
// Stop form from submitting normally
e.preventDefault();
for(i=0;i<clickArr.length;i++) {
if(search_group.hasLayer(clickArr[i]))
{
if(clickArr[i]._latlng.lat+"_"+clickArr[i]._latlng.lng==$(this).attr('id'))
{
hideLayer(search_group,clickArr[i]);
clickArr.splice(clickArr.indexOf(clickArr[i]), 1);
}
}
}