Как добавить прослушиватель событий в OverlayView?

Я пытаюсь создать OverlayView на карте Google в качестве пользовательского маркера.

Мне удалось успешно создать OverlayView, как показано ниже.

http://plnkr.co/edit/4XDANE?p=preview

Однако, когда я пытаюсь добавить слушателей событий, я застрял.

Я попробовал следующее без удачи.

    // ------------- Trying To Add DOM Event Listener ---
    google.maps.event.addDomListener(this.div, 'click', function(){
      alert(1); // NOT working
    })

    // ------------- Or, this ---
    this.div.addEventListener('click',function() {
      alert(1); // NOT working
    });

Кто-нибудь сделал это успешно?

----- обновление ---- Как предполагает @dr-molle, следующее принимает щелчок мышью.

    //panes.overlayLayer.appendChild(div);   NOT THIS
    panes.overlayMouseTarget.appendChild(div);  // But, This

    // ------------- Trying To Add DOM Event Listener ---
    google.maps.event.addDomListener(this.div, 'click', function(){
      alert(1); // working
    })

1 ответ

Решение

Вы должны использовать другой pane для слоя.

В настоящее время вы используете overlayLayer, но только overlayMouseTarget а также floatPane может получать DOM-события.

Я бы предложил использовать overlayMouseTarget в этом случае ваши оверлеи будут работать как маркеры (InfoWindows будет открыта перед оверлеями)

Другие вопросы по тегам