Google Maps v3 API:KML图层混乱了点击,鼠标事件

时间:2010-08-15 11:20:37

标签: google-maps google-maps-api-3

我正在开发一个项目,在创建一些很好的代码来创建多边形并将鼠标事件附加到它们之后,添加KML图层(主要是位置标记符)会导致KML图层的占位符与生成的不一致行为多边形。

如果我先创建多边形并在之后设置KML文件,则单击placemarkkers将按预期显示infowindow()。但是,下面的多边形上的鼠标悬停不会产生任何结果,而在它们突出显示并且可点击之前(它们不是)。

将KML图层设置为null也无济于事。地方标记消失了,但我的多边形没有注册。

当我第一次使用placemarkkers调用KML时,稍后调用的多边形图层会在placemarkkers之上。多边形是不透明的,因此您可以通过窗口看到地方标记,但您无法点击或与地标记交互。

将多边形设置为null会产生与以前相同的行为。占位符仍然无法点击。

帮助?我找不到KML图层代码的zIndex引用,我希望它就是全部。我在其他地方阅读 - 并想象这是真的 - KML和用户发布的内容“层”彼此冲突 - 后者放在地图上需要关注,捕获事件等等我会想到的这没关系,就像你可以在其他div之上使用div一样,特别是如果你使用索引。

1 个答案:

答案 0 :(得分:4)

如果您只想在KML图层中显示信息而不让它对用户事件做出反应,您可以将suppressInfoWindows标志添加到构造函数中:

 var myKmlLayer = new google.maps.KmlLayer('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', { suppressInfoWindows: true });

这将有效地关闭所有互动,让您的其他图层接收互动。

编辑:忘记提及良好的信息来源是Google API V3 site discussing KML layers