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

标签 javascript events google-maps-api-3

第一次使用 Google Maps API v3,我得到了一张带有一堆标记的 map 。我想这样做,当您单击一个时,将显示一个特定的信息窗口(特定于您单击的标记)。我真的很惊讶点击事件没有告诉你被点击的实际标记!

我知道有一种解决方案使用单独的方法来创建闭包,但对我来说这似乎是一种 hack。有更好的方法吗?或者,有没有办法询问 map “此位置存在哪些标记”并从事件参数中传入位置?

我希望事件像这样进行:

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

最佳答案

您应该只在事件监听器中引用“this”。

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

关于javascript - Google Maps API v3 - 为什么没有事件上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333653/

相关文章:

javascript - 如何绕过框架或任何嵌入式框架上的 "Blocked call to navigator.vibrate because user hasn' t”?

javascript - 回发后调用 javascript 函数来启动 Flash 游戏

javascript - 绑定(bind)就绪功能和调整大小事件

java - 在拖动 JSplitPane 分隔线时如何避免(或消耗)鼠标事件?

javascript - Google map JavaScript 未在移动浏览器上完全加载

jquery - 从 PHP 返回的 JSON 未由 jQuery.each() 正确处理以在 Google map 上显示为新标记

google-maps - 谷歌地图 v3 标记在今天放大 map 时消失

javascript - 自动将动态添加的对象属性(函数)包装在包装函数中

javascript - 如何通过 javascript 构建非预加载幻灯片放映?

java - 如何在Java(TelNet)中实现接收套接字的事件?