гугл карты и события - PullRequest
2 голосов
/ 26 мая 2011

Я пытаюсь использовать функциональность, позволяющую навести указатель мыши и навести курсор мыши на маркеры, открыть всплывающее окно и автоматически закрыть его.Затем, когда пользователь нажимает на маркер, я отключаю указатель мыши для этого маркера, чтобы отобразить информационное окно, пока пользователь не закроет его вручную.Я хочу добавить указатель мыши обратно к маркеру, когда пользователь нажимает кнопку закрытия для информационного окна.

У меня есть этот код:

google.maps.event.addListener(marker, 'mouseover', function() {
    infowindow.open(map, marker);
});
google.maps.event.addListener(marker, 'mouseout', function() {
    //setTimeout(function() { infowindow.close(); }, 3000);
    infowindow.close(map, marker);
});
google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map, marker);            
    google.maps.event.clearListeners(marker, 'mouseout');
});

Я пытаюсь использовать «щелчок»Событие, чтобы отключить 'mouseout'.Выше работает.Теперь я хочу добавить событие 'mouseout' после закрытия информационного окна, используя 'closeclick' ниже.

google.maps.event.addListener(infowindow, 'closeclick', function() {
    //google.maps.event.addListener(marker, 'mouseout', "");
});

Я не уверен, как это сделать.Может ли кто-нибудь указать мне правильное направление?

1 Ответ

0 голосов
/ 08 июля 2011

Я понял это и решил поделиться:

function attachData(marker, number) {
    //snipped code that adds the events that are removed in closeMarker
    google.maps.event.addListener(infowindow, 'closeclick', function() {
            closeMarker(marker, number);
    });
}

Функция closeMarker очищает все текущие события и добавляет их обратно, вызывая функцию attachData.

function closeMarker(marker, number) {
        google.maps.event.clearListeners(marker, 'mouseover');
        google.maps.event.clearListeners(marker, 'mouseout');
        google.maps.event.clearListeners(marker, 'click');
        google.maps.event.clearListeners(marker, 'closeclick');
        attachData(marker, number);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...