在此处查看我的示例代码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);
我的自定义叠加层出了什么问题?如何使它高于所有标记的点击区域?
答案 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