Обновление карт V3 с помощью "незанятого" слушателя. Открытие InfowWindow вызывает это и скрывает маркер

Это загружает карту, получает новые результаты и удаляет старые:

google.maps.event.addListener(map, 'idle', function() {
    updateMap();
});

Эта часть отлично работает.

Моя проблема возникает, когда я нажимаю на маркер, чтобы открыть его InfoWindow. Открытие InfoWindow повторно центрирует карту вокруг маркера, что запускает прослушиватель сверху, который затем сбрасывает карту, скрывая InfoWindow.

Вот как я создаю маркеры / InfoWindow:

var infowindow = new google.maps.InfoWindow({});

function makeMarker(LatLong, markerName) { //this is called from a loop 
    var marker = new google.maps.Marker({
        position: LatLong,
        map: map,
        title:markerName,
        content: "html for the infoWindow"
    });

    //Detect marker click
    google.maps.event.addListener(marker, "click", function() {
        infowindow.setContent(this.content);
        infowindow.open(map, marker);
    });
} 

Любые идеи приветствуются.

6
задан kamchatka 11 January 2012 в 03:55
поделиться