OverlayView如何添加事件监听器?

How To Add Event Listener To OverlayView?

我正在尝试在 google 地图上创建一个 OverlayView 作为自定义标记。

我能够成功创建如下所示的 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
    })

您必须为图层使用不同的 pane

目前您使用 overlayLayer,但只有 overlayMouseTargetfloatPane 可以接收 DOM-事件。

我建议使用 overlayMouseTarget ,在这种情况下,您的叠加层就像标记一样(InfoWindows 将在叠加层前面打开)