我在自己的网站上设置了一个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());
});
高温超导