javascript - OverlayView如何添加事件监听器?

标签 javascript google-maps google-maps-api-3 overlay-view

我正在尝试在谷歌地图上创建一个 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 将在叠加层前面打开)

关于javascript - OverlayView如何添加事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197085/

相关文章:

javascript - 在多个选择元素中禁用非 'selected' 选项,除了使用 jquery 的一个

javascript - react -Redux : Should all component states be kept in Redux Store

javascript - 谷歌地图加载两次

javascript - 如何让用户使用 gmap3 插件或 Google Maps Api v3 绘制多个多边形

javascript - 在谷歌地图中搜索后的相关缩放

jquery - Google Maps API v3 + jQuery UI 选项卡的问题

javascript - 使用ajax读取渲染html的php文件

javascript - 根据数组中的值将单个数组分成多个数组。 JavaScript

javascript - 如何在选项卡infobubble中添加id

javascript - 带有 Ember Js 的 Google map API