我正在显示标记上的弹出窗口,我可以简单地添加以下几行以生成弹出窗口
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();
})
答案 0 :(得分:1)
您可以简单地对GeoJSON()函数选项进行修改:
var gjLayer = L.geoJson(testCities, {
onEachFeature: function(feature, layer) {
content = "<b>Name:</b> " + feature.properties.name;
layer.bindPopup(content);
}
});