gpt4 book ai didi

javascript - 传单,只保留最后一个标记

转载 作者:行者123 更新时间:2023-11-29 17:57:23 25 4
gpt4 key购买 nike

我正在使用传单在我的网站上显示 map 。我希望用户在 map 上显示并保存他的地址(通过放置一个标记),所以在我的代码中,如果用户双击,一个标记将被放置在 map 上。问题是我不想禁用双击缩放。所以当用户再次双击时,应该删除之前的标记并添加一个新的标记。我搜索了 Stack Overflow 并找到了这段代码

map.on('dblclick', addMarker);
var Marker;
function addMarker(e) {
//remove previous markers
map.removeLayer(Marker);
// Add marker to map at click location; add popup window
Marker = new L.marker(e.latlng,{draggable:true}).addTo(map);
}

但是在添加“map.removeLayer(Marker);”之后不仅双击缩放停止工作,而且 map 上也不再添加任何标记总结:我一直想保留最后添加到 map 的标记

最佳答案

脚本在第一次双击时停止工作,因为它试图删除初始化时尚未分配的 Marker

一旦错误发生,其余的 JS 函数将停止:没有添加标记,没有双击缩放。

在尝试删除它之前,只需检查 Marker 是否已分配。

map.on('dblclick', addMarker);
var Marker;

function addMarker(e) {
//remove previous markers
if (Marker) {
map.removeLayer(Marker);
}
// Add marker to map at click location; add popup window
Marker = new L.marker(e.latlng, {
draggable: true
}).addTo(map);
}

演示:http://jsfiddle.net/3v7hd2vx/26/

关于javascript - 传单,只保留最后一个标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37872882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com