在本教程之后,我还附带了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);
}
我已经调试了这个部分,并确保对象(id
、address
(都是正确的。问题是,当我单击任何标记时,事件侦听器似乎只附加到循环中的最后一个条目。它似乎在使用XML,为什么不使用Json格式呢?
必须使用let
而不是var
。感谢jaromanda-x。