Złap zdarzenie bounds_changed, gdy użytkownik przesunie mapę, ale nie użyje metody setCenter

Chcę posłuchać zdarzenia „bounds_changed”, gdy użytkownik przesunie mapę, zmieni powiększenie, ale nie chcę, aby było uruchamiane, gdy mój program wywołuje metody setCenter lub setZoom. Próbowałem więc usunąć zdarzenie przed ustawieniem centrum i dodaniem go po raz kolejny. Jednak to nie zadziałało, Moje wydarzenie jest nadal uruchamiane.

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();
}

Myślę, że mapa tworzy zdarzenie bounds_changed po dodaniu do niego nowego odbiornika, tak jak zdarzenie jest asynchronizowane.

questionAnswers(1)

yourAnswerToTheQuestion