我正在使用谷歌地图 api v3。我需要捕捉idle
地图上的所有事件,但是当我通过代码更改边界或缩放时我不想看到它们。fitBounds
使用方法时存在我的问题。我正在使用一个标志来决定一个事件是因为我还是因为用户而创建的。当我使用 fitBounds 时,如果边界发生变化,它会被触发,但有时边界不会改变并且事件不会被触发,因此标志工作错误。它会导致脚本忽略用户的下一个事件。这是我的代码:
var flag = false;
google.maps.event.addListener(map, 'idle', function() {
if(flag) {
// ignore this event
} else {
// do some work
}
flag = false;
});
function fitBounds() {
var bounds = new google.maps.LatLngBounds();
for(var i=0; i<markers.length; i++) {
var location = markers[i].getPosition();
bounds.extend(location);
}
// I need something like whether bounds will change or not after fitBounds?
flag = true;
map.fitBounds(bounds);
}