如果使用传单贴图将标记置于数组中,则如何在标记单击时打开弹出窗口

时间:2015-05-22 19:06:33

标签: javascript leaflet mapbox

嘿伙计我有一组标记,它们是在.each循环上动态创建的。

$.each(data, function(index, element) {
    markerArr[element.id] = L.marker(map.unproject([element.LocationX,element.LocationY],map.getMaxZoom()-4)).addTo(map);
});

我的问题是如何在点击时打开每个弹出窗口的弹出窗口并在弹出窗口中显示唯一ID?

如果我要使用这样的唯一名称声明每个标记,我就能做到这一点。

var marker1 = L.marker([158,395]).addTo(mapl);
var marker2 = L.marker([158,410]).addTo(mapl);
marker1.bindPopup("Kanye West");
marker1.on('click', function (e) {
    this.openPopup();
});
marker2.bindPopup("50 Cent");
marker2.on('click', function (e) {
    this.openPopup();
});

但我需要能够打开阵列中的所有标记。

尝试这样的事情没有运气

markerArr[this].on('click', function (e) {
    this.openPopup();
});

非常感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:3)

您不需要自己编写点击事件处理程序。如果您拨打marker.bindPopup("hello"),则会在点击时自动打开该弹出窗口。