事件侦听器只附加到循环中的最后一个条目



在本教程之后,我还附带了fiddle,我想将事件侦听器附加到每个标记对象。这样做的方式是,我循环遍历Json对象,并在循环时将事件处理程序附加到每个标记对象。我正在做完全相同的事情,但使用Json而不是XML。除了如何进行索引之外,代码基本相同。我使用的不是downloadURL,而是来自jquery的getJSON。例如:

const arr = json; 
for (var r of arr){
id = r.id;
.....
..... 
var marker = new google.maps.Marker({
map: map,
position: point,
label: icon.label
});
marker.addListener('click', function() {
infoWindow.setContent(infowincontent);
infoWindow.open(map, marker);

}

我已经调试了这个部分,并确保对象(idaddress(都是正确的。问题是,当我单击任何标记时,事件侦听器似乎只附加到循环中的最后一个条目。它似乎在使用XML,为什么不使用Json格式呢?

必须使用let而不是var。感谢jaromanda-x。

相关内容

  • 没有找到相关文章

最新更新