前端之家收集整理的这篇文章主要介绍了
javascript – 宣传单:添加指向标记的链接,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
非常简单的问题:如何使Leaflet中的地图
标记可单击并将
用户路由到另一个
页面?每个
标记都有自己的
页面.
我试过以下没有成功;不知何故,所有标记都指向同一页面,这是最后分配的URI.
var markers = [
{ coords: [51.505,-0.09],uri: '/some-page' },...
];
for(x in markers)
{
L.marker(markers[x].coords).on('click',function() {
window.location = markers[x].uri;
}).addTo(map);
}
这个问题真让我疯了.
好的,我终于找到了
解决方案;当
标记添加到地图时,会为其分配一个名为“_leaflet_id”的ID.这可以通过目标对象
获取,也可以在
添加到地图后设置为
自定义值.
所以最终的解决方案很简单:
var x = markers.length;
while(x--)
{
L.marker(markers[x].coords).on('click',function(e) {
window.location = markers[e.target._leaflet_id].uri;
}).addTo(map)._leaflet_id = x;
}
(我用反向while循环替换了for-in循环)
原文链接:https://www.f2er.com/js/158289.html