【发布时间】:2013-12-29 14:29:36
【问题描述】:
谁能解释一下为什么我的谷歌地图信息窗口只在左下角的标记处打开? 小提琴见这里http://jsfiddle.net/Vj3nw/7/
当我点击任何标记时,只打开左下角的标记。我想要点击打开的标记。
我相信问题是由于下面的循环,这个问题似乎也有同样的问题Setting onclick to use current value of variable in loop
“您遇到的问题是 javascript 不使用块作用域。相反,所有变量都有其包含函数的生命周期。所以在所有 onclick 函数中只捕获了一个 a 并且他们都看到它是最终的价值。”
我只是不能完全将那个解决方案翻译成我的。
非常感谢。
for (var i = 0; i < 4; i++) {
var marker = new google.maps.Marker({
position: flightPlanCoordinates[i],
icon: Symbol,
map: map
});
infowindow = new google.maps.InfoWindow();
infowindow.setContent("hello");
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}
【问题讨论】: