在这里检查我的示例代码https://jsfiddle.net/liangyongning/cd5wbzL8/5/
我创建了一个名为的自定义叠加层MyOverlay
,并将其添加到中floatPane
,我已经检查了Google Maps的API,它告诉我floatPane
,位于overlayMouseTarget
overlayMouseTarget
包含接收DOM鼠标事件的元素,例如标记的透明目标。它位于floatShadow上方,因此可以单击信息窗口阴影中的标记。(窗格5)。floatPane
包含信息窗口。它位于所有地图叠加层之上。(窗格6)。
来源:https://developers.google.com/maps/documentation/javascript/customoverlays#initialize
但是,即使覆盖了信息窗口,此叠加层后面的标记也是可以单击的。
如果我在第27行上删除了覆盖层,则一切正常。
// var overlay = new MyOverlay(map);
我的自定义叠加层有什么问题?如何使其位于所有标记的点击区域之上?
好的,我找到了答案,我必须在自定义叠加层上禁用一些鼠标事件。
google.maps.event.addDomListener(this._div, 'click', function (e) {
e.cancelBubble = true;
e.stopPropagation && e.stopPropagation();
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句