我在自己的网站上设置了一个google map ,并且每本地图范围发生变化(通过拖动或缩放)时,我都希望重新加载标记。

我最初使用jQuery添加 map 并清除标记:

$('#map_canvas').gmap();
$('#map_canvas').gmap('clear', 'markers');

然后,添加带有以下内容的标记:
$('#map_canvas').gmap('addMarker', {'position': position, 'bounds': true });

我的问题:
如何“捕捉”移动 map 的事件?我已经读到有一个空闲事件,和I saw an example:
google.maps.event.addListener(map, 'idle', function() {
});

但是我放置的任何东西而不是“map”变量都不起作用...
我也尝试过:
map = new google.maps.Map(document.getElementById("map_canvas"));

有人有主意吗?

非常感谢,

丹尼

最佳答案

对于其他遇到此问题的人:

您可以像这样获取 map 对象/变量:

$('#map_canvas').gmap();
var map = $('#map_canvas').gmap('get', 'map');

有了 map 对象后,可以将事件监听器附加到该对象:
$(map).addEventListener('idle', function() {
    console.log('Map is now idle');
    console.log(map.getCenter());
});

高温超导

10-07 22:35