leaflet点击只添加一个标记

发布于 2022-09-12 22:36:19 字数 353 浏览 11 评论 0

下面这个代码每次点击都会添加一个标记。我只要点击一次添加一个,点第二次时第一个消失。怎么做呢?我的代码:

var icon = L.icon({
iconUrl: "QQ.png",
iconSize: [60, 60],
iconAnchor: [30, 30]
});
map.on('click',addPoint);
function addPoint(e) {
var marker = L.marker(e.latlng, {
draggable:false,
riseOnHover: true,
icon
})
.addTo(map)
.bindPopup(e.latlng.toString2()).openPopup();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初心未许 2022-09-19 22:36:20

1、删除上一个点,每次点击的时候新增点

var icon = L.icon({
    iconUrl: "QQ.png",
    iconSize: [60, 60],
    iconAnchor: [30, 30]
}), marker;

map.on('click',addPoint);

function addPoint(e) {
    if(marker)map.removeLayer(marker);
    marker = L.marker(e.latlng, {
        draggable:false,
        riseOnHover: true,
        icon
    })
    .addTo(map)
    .bindPopup(e.latlng.toString2()).openPopup();
}

2、就一个点,每次点击的时候,修改点的位置

var icon = L.icon({
    iconUrl: "QQ.png",
    iconSize: [60, 60],
    iconAnchor: [30, 30]
})
var marker = L.marker(e.latlng, {
    draggable:false,
    riseOnHover: true,
    icon
}).addTo(map)

map.on('click',movePoint);

function movePoint(e) {
    marker.setLatLng(e.latlng).bindPopup(e.latlng.toString2()).openPopup()
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文