【发布时间】:2013-05-08 10:23:10
【问题描述】:
我在为多个圆形叠加层中的每一个添加一个信息窗口时遇到问题。 当我单击一个圆圈时,会出现一个信息窗口,但不是在我单击的圆圈上,而是在最后一个添加的圆圈上。似乎每次执行循环时,都会将事件侦听器添加到每个圆圈中,但信息窗口的内容是从添加的最后一个圆圈派生的。
for (i in cityPoints) {
var magnitudeOptions = {
map: map,
center: cityPoints[i].center,
radius: cityPoints[i].magnitude,
id:cityPoints[i].id,
addr:cityPoints[i].addr,
infoWindowIndex: i
};
cityCircle = new google.maps.Circle(magnitudeOptions);
circlesArray.push(cityCircle);
infoWindow = new google.maps.InfoWindow({ content: cityPoints[i].id + " " + cityPoints[i].addr });
infoWindowsArray.push(infoWindow);
google.maps.event.addListener(circlesArray[i], 'click', function (ev) {
infoWindowsArray[i].setPosition(cityPoints[i].center);
infoWindowsArray[i].open(map);
});
}
【问题讨论】:
标签: javascript google-maps-api-3