我正在使用Google Maps API v.3和自定义InfoBox
。
问题是如果Click
和google.maps.Rectangle
重叠,尽管InfoBox的InfoBox
比更高,则地图上的pane
事件会触发两次{{1}中的pane
。
默认的google.maps.Rectangle
正常工作,并且google.maps.InfoWindow
事件不会在诸如click
之类的基础元素上“渗透”。
我出于测试目的准备了small example。
如何避免这种渗滤?
答案 0 :(得分:0)
当您单击地图中的任何内容时,单击事件"bubbles"一直到到达地图的根元素为止。然后,事件处理程序根据单击的坐标来确定单击的内容。
一种阻止问题发生的方法是阻止click事件到达地图根目录。
这是通过在事件上调用event.stopPropagation()
来完成的。您可以添加执行此操作的事件处理程序;例如在您的信息框中:
var infobox_options = {
content: '<div onclick="event.stopPropagation()" style="cursor:default;width:100px;height:100px;border:2px solid #000;text-align:center;background:pink;z-index:10;"><a style="z-index:999" target="_blank" href="http://vk.com">CLICK</a></div>',
disableAutoPan: true,
//pixelOffset: pixelOffset,
position: point,
closeBoxURL: "",
isHidden: false,
pane: "floatPane",
};