如何在标记的点击区域上方制作Google地图的自定义叠加层?

时间:2016-08-09 05:19:52

标签: javascript google-maps google-maps-api-3

在此处查看我的示例代码https://jsfiddle.net/liangyongning/cd5wbzL8/5/

我创建了一个名为MyOverlay的自定义叠加层,并将其添加到floatPane,我查看了Google地图的API,它告诉我floatPane位于overlayMouseTarget之上}

  
      
  • overlayMouseTarget包含接收DOM鼠标事件的元素,例如标记的透明目标。它位于floatShadow上方,因此信息窗口阴影中的标记可以被点击。 (窗格5)。
  •   
  • floatPane包含信息窗口。它首先是地图叠加层。 (窗格6)。
  •   

来源:https://developers.google.com/maps/documentation/javascript/customoverlays#initialize

但是这个叠加层背后的标记是可点击的,即使它上面有一个信息覆盖。

如果我删除第27行的叠加层,一切正常。

// var overlay = new MyOverlay(map);

我的自定义叠加层出了什么问题?如何使它高于所有标记的点击区域?

1 个答案:

答案 0 :(得分:1)

好的,我找到了答案,我必须在我的自定义叠加层上禁​​用一些鼠标事件。

google.maps.event.addDomListener(this._div, 'click', function (e) {
  e.cancelBubble = true;
  e.stopPropagation && e.stopPropagation();
})

以下是代码:https://jsfiddle.net/liangyongning/cd5wbzL8/7/

参考:Prevent google overlay/infowindow from allowing clicks through to markers underneath

相关问题