是否可以在Google Maps 3中的鼠标悬停KMLLayer上显示手形光标?
我看到了两个解决方案(但似乎无法使用它们):
你还有其他想法吗?
由于
答案 0 :(得分:2)
kml多边形不能有鼠标悬停事件,所以1.不可能。 至于第二,我真的没有看到一个简单的出路。 如果您可以将数据格式更改为kml以外的其他内容,那就更好了。
答案 1 :(得分:1)
你不能有鼠标悬停事件,但你可以在图层上设置一个点击监听器,它将显示手形光标。
var layer = new google.maps.KmlLayer('http://...');
google.maps.event.addListenerOnce(layer, 'click', function () {
// do nothing here
});
现在,只要您将鼠标悬停在KML中定义的区域上,它就会显示光标。您还可以获取鼠标的位置(如果用户单击KML图层),因为这将生成一个KmlMouseEvent,其中包含他们单击的点的LatLng。它还会告诉您有关他们点击的KML地标的信息。然后,您可以在此处进行计算,看看它是否包含在您想要的KML图层中......
答案 2 :(得分:0)
据我所知,您可以通过选项可点击启用/禁用谷歌地图v3中的光标指针:
var kml = new google.maps.KmlLayer(
kmlUrl,
{
suppressInfoWindows: true,
preserveViewport: true,
map: null,
clickable: false
}
);