Gmaps API - 在循环上添加事件侦听器始终指向最后一个标记

时间:2013-11-26 18:46:56

标签: javascript google-maps events google-maps-api-3 google-maps-markers

Heloo那里。

我有一系列标记。

我正在循环thourgh然后为每一个添加点击事件:

google.maps.event.addListener(marker, 'click', function(){ 
   //Logic using position goes here
}

问题是无论我点击哪一个位置总是从最后添加的标记开始。

我无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

如果position只是每次循环更新的变量,那么您正在创建的事件处理函数将共享同一个变量并使用其当前值。

请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures处的“在循环中创建闭包:常见错误”部分以获得解释。