我想在用户移动地图时收听“bounds_changed”事件,更改缩放但我不希望在我的程序调用 setCenter 或 setZoom 方法时触发它。所以我尝试在设置中心之前删除事件并在之后再次添加它。但是,它没有用,我的事件仍在被触发。
var currentBoundsListener = null;
function addBoundsChangedListener() {
currentBoundsListener = google.maps.event.addListener(map, 'bounds_changed', function () {
// Whatever.
});
}
function setCenter(lat, lng) {
google.maps.event.removeListener(currentBoundsListener);
var geo = new google.maps.LatLng(lat, lng);
map.setCenter(geo);
addBoundsChangedListener();
}
我认为在我向其添加新侦听器之后,地图正在创建 bounds_changed 事件,就像事件是异步的一样。