【发布时间】:2017-03-20 15:46:19
【问题描述】:
我正在使用谷歌地图的 infoWindow 功能添加信息框,当我点击我放置在地图上的任何标记时,这些信息框会弹出。
我的问题:事件侦听器未正确添加到标记中。所有标记都加载了,但是当我单击任何标记时,只会弹出最后一个 infoWindow。
var markers = [];
var infoWindows =[];
for(var x in data.results)
{
var result = data.results[x]
var contentString = generateContentString(result);
var latLng = new google.maps.LatLng(result.coordinates.latitude,result.coordinates.longitude);
infoWindows[x] = new google.maps.InfoWindow({
content: contentString
});
markers[x] = new google.maps.Marker({
position: latLng,
map: map,
title: result.location
});
markers[x].addListener('click', function() {
infoWindows[x].open(map, markers[x]);
});
}
markers 存储标记对象,infoWindows 存储 infoWindow 对象。
【问题讨论】: