【问题标题】:How to fire action when ANY Google Map Event Has Been Fired当任何谷歌地图事件被触发时如何触发动作
【发布时间】:2012-04-16 02:50:52
【问题描述】:

我正在使用 Google Maps API 3 实现一个应用。我想知道处理这个问题的最佳实现是什么。一旦 Google Map 中的任何事件被触发,我想执行一个动作。目前,我正在做的是每次调用特定事件时调用该函数。我发现这是多余的,我必须为所有事件创建一个监听器。那么,有没有一种方法可以概括这一点,我可以执行以下操作:

google.maps.addListener(everything_on_the_map_canvas, 'ANY_EVENT', function(event) {
  foo();
})

function foo(){
 //do something here
}

谢谢。

【问题讨论】:

  • 您正在执行的操作是什么?我想不出这个要求的真实用例。
  • 我在地图上方有一个隐藏的 div,只有在点击链接时才会在地图上显示。一旦用户决定继续进行地图操作,我想再次隐藏 div。谢谢。

标签: javascript google-maps-api-3


【解决方案1】:

如果用户决定继续进行地图操作,他们必须将鼠标移到地图上才能执行任何操作。所以你可以简单地捕获mousemove。

google.maps.event.addListener(map, 'mousemove', function(event) {foo();})

如果用户无需在地图上移动鼠标即可操作地图,那么您将需要监听其他事件。

  • bounds_changed 将通过缩放和平移、标题等涵盖大多数可能性
  • maptype_id_changed

但这只是三个,而不是全部。如果倾斜时边界没有改变(并且您可以从地图外部更改倾斜),您可能还需要收听tilt_changed。

【讨论】:

  • 谢谢。所以,我假设没有特定的母亲事件可以被调用来做到这一点?
  • @nmenego:不。我希望你已经看过文档了。
  • 我做到了,我所做的就是调用这个列表中的那些:link。不管怎么说,还是要谢谢你。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
相关资源
最近更新 更多