gpt4 book ai didi

javascript - 如何在多个标记悬停时显示弹出窗口

转载 作者:行者123 更新时间:2023-11-30 20:18:59 25 4
gpt4 key购买 nike

我正在努力在标记上显示一个弹出窗口,我可以简单地添加以下行来生成一个弹出窗口

let marker = L.marker(myloc, { icon: greenIcon }).addTo(map);
marker.bindPopup(map.getCenter() +"<br>" +
"Min Zoom" + map.getMinZoom() +"<br>" +
"Max Zoom" + map.getMaxZoom());

我正在努力显示我所在位置附近的标记。我使用过 leaflet-knn 算法。从我的代码中,我将获得 5 个存储在 res 中的标记。现在我必须在悬停或点击事件时显示标记信息。

到目前为止,我已经尝试了以下代码。我收到错误。任何人都可以帮助我我做错了什么。

var longitude = myloc.lng,
latitude = myloc.lat;
var map = L.map('map').setView(myloc, 12),
gjLayer = L.geoJson(testCities);


res = leafletKnn(gjLayer).nearest(
[longitude, latitude], 5, distance);

if (res.length) {
for (i = 0; i < res.length; i++) {
var popup = res[i].layer.feature.properties.name;

var m = map.addLayer(res[i].layer).bindPopup(popup);

if ($.inArray(res[i], oldArr) === -1)
oldArr.push(res[i]);
}
}
m.on('mouseover', function(e){
this.openPopup();
})

最佳答案

您可以简单地修改您的 GeoJSON() 函数选项:

var gjLayer = L.geoJson(testCities, {
onEachFeature: function(feature, layer) {
content = "<b>Name:</b> " + feature.properties.name;
layer.bindPopup(content);
}
});

关于javascript - 如何在多个标记悬停时显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51649716/

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