小叶bindpopup里面循环

时间:2017-04-15 16:01:50

标签: javascript leaflet

我试图在地图上显示一个点列表,并将每个点的索引指定为弹出事件。

for(i = 0 ; i<data.length; i++){
var circle = L.circle([data[i].lat, data[i].lon], {
    radius: 5
}).bindPopup(toString(i)).addTo(mymap);
}

但是在网页上点击圈子而不是显示数字时,会显示 [object Undefined]

感谢。

1 个答案:

答案 0 :(得分:1)

除了将数字转换为字符串之外,您的代码是正确的。 toString是一个数字方法,因此需要从数字对象

中调用它

请尝试以下代码:

for(i = 0 ; i<data.length; i++){
var circle = L.circle([data[i].lat, data[i].lon], {
    radius: 5
}).bindPopup(String(i)).addTo(mymap);
}

for(i = 0 ; i<data.length; i++){
var circle = L.circle([data[i].lat, data[i].lon], {
    radius: 5
}).bindPopup(i.toString()).addTo(mymap);
}