【问题标题】:Limiting number of markers that can be created by clicking using leaflet限制使用传单单击可以创建的标记数量
【发布时间】:2025-11-22 15:50:01
【问题描述】:

我正在提示用户单击以在我的地图上创建一个单点标记。我需要将其限制为只有一个标记(必须是可拖动的)。我尝试使用计数变量进行比较,但是这种情况对我不起作用(用户可以制作许多标记 - 如此图所示)。

这是我的代码:

var count = 0;
if (count <= 0) { 
map.on('click', function(e){
    count += 1;
    var marker = L.marker(e.latlng,{draggable: true}).addTo(map);
    var lat = e.latlng.lat;
    var lon = e.latlng.lng;
    alert("Lat, Lon : " + lat + ", " + lon);

    });
}

提前致谢。

【问题讨论】:

标签: javascript jquery leaflet


【解决方案1】:

您可以通过off在第一次点击后解除click事件的绑定

var onClick = function(e) {
    map.off('click', onClick);

    var marker = L.marker(e.latlng,{draggable: true}).addTo(map);
    var lat = e.latlng.lat;
    var lon = e.latlng.lng;
    alert("Lat, Lon : " + lat + ", " + lon);
};

map.on('click', onClick);

the Leaflet docs 中的更多信息。

【讨论】:

    最近更新 更多