0

我想知道缩放是否改变是因为用户从鼠标/谷歌缩放工具(地图的左上角,zoomControl)改变它,或者只是在谷歌的某些功能(如方向显示.setDirections或边界)之后改变:

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

    }
});

是否可以?

4

2 回答 2

2

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

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

于 2012-10-04T22:00:02.683 回答
0

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

我不知道有一种方法可以“知道”缩放是来自用户干预还是来自 Google Maps API 函数,而至少没有构建自定义缩放控件

于 2012-10-04T16:32:42.050 回答