(1) добавьте группу слоев и массив для хранения слоев и ссылки на слои как глобальные переменные:
var search_group = новый L.LayerGroup (); var clickArr = новый массив ();
(2) добавить карту
(3) Добавить групповой слой на карту
map.addLayer (search_group);
(4) функция добавления на карту со всплывающим окном, содержащим ссылку, при нажатии на которую будет отображаться опция удаления. Эта ссылка будет иметь в качестве идентификатора широту точки. Затем этот идентификатор будет сравниваться с тем, когда вы нажимаете на один из созданных вами маркеров и хотите его удалить.
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) Функция удаления, сравните длину маркера с идентификатором, запущенным при удалении:
$(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);
}
}
}