1

我正在尝试在谷歌地图上创建一个 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
    })
4

1 回答 1

3

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

当前您使用overlayLayer, 但仅overlayMouseTargetfloatPane可能接收 DOM 事件。

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

于 2015-08-25T09:24:03.910 回答