当任何谷歌地图事件被触发时,如何触发操作

How to fire action when ANY Google Map Event Has Been Fired

本文关键字:何触发 操作 任何 谷歌地图 事件      更新时间:2023-09-26

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

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

谢谢。

如果用户决定继续地图操作,他们将不得不将鼠标移到地图上才能执行任何操作。所以你可以简单地困住一个mousemove.

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

如果用户无需将鼠标移到地图上即可操作地图,则需要侦听其他事件。

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

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