1

我正在使用Google Earth API for Google Maps v3在一个窗口中显示 kml 文件,然后可以在地图和地球浏览器之间切换。这是一个与谷歌官方提供的插件不同的插件,我在地球窗口中动态切换 kml 时遇到了问题。我使用复选框在 Maps API V3 窗口中切换它们,但是当浏览器切换到地球时,它不再监听复选框操作。基本上我想要做的是复制谷歌代码游乐场上的交互式复选框示例,但我认为我应该使用 Maps V3 脚本?

我在这里包含了示例脚本的链接:http: //commondatastorage.googleapis.com/webgistank/TRMM_Checkbox_Example.html

任何帮助是极大的赞赏!问候,克里

4

1 回答 1

1

您的代码中有错误。例如,线

 google.maps.event.addListenerOnce(map, 'tilesloaded', addOverlays);

引用不存在的函数addOverlays

另外,我不确定你的意思...

“这是一个与谷歌官方提供的不同的插件”

...因为它是完全相同的插件。

你还说...

“......它不再听复选框动作。”

是浏览器监听动作,而不是地球插件。复选框事件仍在触发,代码不起作用的原因是“Google Earth Api”(用于控制插件的 api)使用与 Google Maps Api(用于控制地图的 api)完全不同的对象和方法. google.maps.KmlLayerEarth Api 中根本不存在类似的东西。因此,当复选框事件触发时,它会导致错误,因为您正在调用不存在的对象的方法。

通过查看您的代码,通过初始化 Earth 插件后

googleEarth = new GoogleEarth(map);

你不用它做任何其他事情......你在你的问题中提到了谷歌代码游乐场上的交互式复选框示例,但据我所知,你实际上并没有实现该示例中的任何代码。

再看一下loadKml该示例中的函数方法 - 它清楚地显示了如何在 Earth 插件中加载和显示数据。

于 2013-06-24T03:14:31.383 回答