我的Google地图(v3)呈现两种类型的标记:
区域标记(“您的住宅位于此区域内”),半透明图形,圆圈表示地图上的大致区域。
许多景点标记(海滩,餐馆,购物等)
每个景点标记都有一个点击处理程序,可以打开一个信息窗口(“Bob's Bugs - 镇上最好的炸虫!”)。注册单击处理程序似乎也创建了悬停处理程序,可以将鼠标指针更改为手,显示工具提示等,这很好。我没有为区域标记定义事件处理程序。
但是,对于区域标记范围内的吸引标记,点击和悬停处理程序都不会触发。我猜这是一个z索引问题,不知何故,大区域标记位于吸引标记的顶部,正在拦截悬停/点击事件,并且没有通过它们。实际上,悬停在区域标记上会导致其工具提示,这对我来说是肯定的,它肯定会让事件发生。
我设置了各种标记的z索引 - 吸引标记的高z-index,区域标记的低z-index。 DOM的视觉呈现和检查表明z-index值实际上是按我的意愿设置的。
但不知何故,相交的景点标记没有收到他们的点击/悬停事件。其他吸引力标记正确响应其悬停/点击事件。事实上,对于仅与区域标记部分相交的吸引力标记,标记的外部部分会响应悬停/点击事件。
按this answer,我试着致电:
google.maps.event.clearInstanceListeners(this.areaMarker);
希望可能有一些默认处理程序妨碍了。没有爱。
是否有某种方法可以告诉区域标记是否可以解决问题?欢迎任何其他想法。