0

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

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

function foo(){
 //do something here
}

谢谢你。

4

1 回答 1

0

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

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

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

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

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

于 2012-04-16T11:42:37.720 回答