检查鼠标/谷歌工具是否触发“zoom_changed”?

时间:2012-10-04 14:49:58

标签: google-maps google-maps-api-3

我想知道缩放是否已更改,因为用户通过鼠标/谷歌缩放工具(地图的左上角,zoomControl)更改了缩放,或者只是在谷歌的某些功能之后更改(如directionsDisplay.setDirections,或者边界):

google.maps.event.addListener(map, 'zoom_changed', function () {
    if (CONDITION) {

    }
});

有可能吗?

2 个答案:

答案 0 :(得分:2)

您可以通过在执行更改缩放的操作时设置全局标志,根据程序执行的操作来检测缩放是否已更改,在该操作完成时将其清除(在zoom_changed事件处理程序中或空闲事件处理程序)。

如果未设置标记,则缩放是由用户操作引起的。

答案 1 :(得分:0)

您可能想要监听idle事件,这是一个“全部捕获”事件,在用户平移或缩放后触发(并且仅触发一次)。还有一个zoom_changed事件,在缩放级别更改时触发。查看所有地图事件here

我不知道如何通过用户干预或使用Google Maps API功能来“了解”这种方式,至少building a custom zoom control