(1) aggiungi un gruppo di livelli e un array per mantenere i livelli e fare riferimento ai livelli come variabili globali:
var search_group = new L.LayerGroup (); var clickArr = new Array ();
(2) aggiungi mappa
(3) Aggiungi layer di gruppo alla mappa
map.addLayer (search_group);
(4) la funzione aggiungi alla mappa, con un popup che contiene un collegamento, che quando cliccato avrà un'opzione di rimozione. Questo collegamento avrà, come ID, la parte più lunga del punto. Questo ID verrà quindi confrontato con quando fai clic su uno dei marker creati e desideri eliminarlo.
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) La funzione di rimozione, confronta il marker lat long con l'id attivato nella rimozione:
$(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);
}
}
}