Google Maps API v3 - 为什么没有带事件的上下文?

Jos*_* M. 3 javascript events google-maps-api-3

第一次使用Google Maps API v3,我有一堆带有标记的地图.我想这样做,当你点击一个时,会显示一个特定的InfoWindow(特定于你点击的标记).我真的很惊讶点击事件没有告诉你点击的实际标记!

我知道有一个解决方案使用一个单独的方法来创建一个闭包但这对我来说似乎是一个黑客.有没有更好的方法呢?或者,有没有办法向地图询问"此位置存在哪些标记"并从事件参数传递位置?

我希望事件能像这样工作:

google.maps.event.addListener(marker, 'click', function(event, obj)
{
    //Now I can work with "obj" - the thing that was clicked.
});
Run Code Online (Sandbox Code Playgroud)

ska*_*arE 10

你应该在事件监听器中引用'this'.

google.maps.event.addListener(marker, 'click', function(e) {
  // this == marker;
  // e == MouseEvent
});
Run Code Online (Sandbox Code Playgroud)