我的问题如下: GEvent.addListener(map, "click"function(){...}) 在回调函数中返回了什么?我根本没有在 GMaps 引用中找到任何信息,你能给我一些吗?我唯一发现的是传递了两个参数“overlay”和“latLng”。这些参数的名称应该不是很有趣吧?据我所知,我也可以将它们命名为“foo”和“bar”。 但是参数“overlay”怎么看都是空的?
我也有问题将这两个参数直接传递到我自己创建的回调函数中,看起来像这样...
GEvent.addListener(gmap, "click", generateMarker(overlay, latLng));
... 而不是编写以下内容,这实际上工作正常。
GEvent.addListener(gmap, "click", function(overlay, latLng) {
generateMarker(overlay, latLng);
});
最佳答案
您的第一个示例是尝试将调用 generateMarker(overlay, latLng)
的结果传递给 addListener
,这当然不会发生上类。第二个例子是正确的做法。
您可以随意命名传递给回调的参数。
叠加层是 map 上与纬度/经度坐标相关联的对象,因此我猜测 overlay
是单击的任何对象。但是,API 的版本 3 似乎将事件对象传递给回调:
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(event.latLng);
});
如果文档中没有关于此的任何内容,您始终可以使用 Firebug 检查 event
。
关于javascript - GEvent.addListener(...) 返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2942514/