8

正如标题所暗示的那样,我只是在我的地图中添加了一个“center_changed”侦听器,并且该函数不止一次运行。我假设这是因为地图的中心在地图停止之前已经改变了很多次,但我认为这就是“拖动”的目的,并且“center_changed 在停止后只触发一次? ?? 我知道它会触发很多次的唯一原因是因为我在图标上有一个阴影,它在完全变黑之前的大约两秒内变得越来越暗。如果有人需要我的代码,它在下面。

         google.maps.event.addListener(map, 'center_changed', function() {
    var zoomLevel = map.getZoom();
        if (zoomLevel > 7) {
            clearAll();
            addmarker1();
            addmarker2();
            addmarker3();
            addmarker4();
                    }
        else {
            clearAll();
            }   
            });
4

1 回答 1

12

这两个函数只有在你的地图停止后才会触发

如果您希望您的函数仅在用户拖动时(不是以编程方式)执行,则使用...

       google.maps.event.addListener(map, 'dragend', function(){...}

但是,如果您希望您的函数即使在拖动时也能执行,缩放以编程方式更改(例如 setZoom , fitBounds),然后使用...

       google.maps.event.addListener(map, 'idle', function(){...}
于 2013-07-14T18:03:57.920 回答