尝试在鼠标悬停时打开InfoWindow时,Google Maps API中存在分层标记问题。我使用Google的复杂项目文档示例创建了sample fiddle。
beachflag标记是一个复杂的形状,使用'poly'元素来定义鼠标悬停的区域。这允许鼠标悬停仅在光标位于标志部分实际所在的img的上半部分时出现。
var map_marker = new google.maps.Marker({
position: new google.maps.LatLng(-33.890542, 151.274856),
map: map,
shape: {
coords: [1, 1, 1, 20, 18, 20, 18, 1],
type: 'poly'
},
zIndex: 101,
optimized: false,
icon: "https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png"
});
圆形标记位于标记后面,旨在与标记重叠。
var map_marker = new google.maps.Marker({
position: new google.maps.LatLng(-33.890542, 151.274856),
map: map,
zIndex: 100,
optimized: false,
icon: {
path: google.maps.SymbolPath.CIRCLE,
fillColor: "#0FF",
fillOpacity: 1,
strokeWeight: 1.5,
scale: 40
}
});
我有一个鼠标悬停事件,显示两个标记的InfoWindow,但问题出在标记标记多边形下面的小区域,有一个空白,其中圆形InfoWindow应该显示,但没有。
一种可能的解决方法是将圆圈标记变为笔直Circle,但是我需要将圆圈固定为固定大小而不是缩放比例。
如何通过高级标记在其定义的多边形外部的“空白空间”看到低级标记,并正确显示鼠标悬停InfoWindow?