Google地图“center_changed”不止一次触发我的功能

时间:2013-07-09 01:31:18

标签: javascript google-maps-api-3

就像标题所暗示的那样,我只是在地图中添加了一个“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();
            }   
            });

1 个答案:

答案 0 :(得分:12)

这两个功能仅在您的地图休息后触发

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

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

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

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