Google maps api 3 在Google地图v3的Google Earth API中动态寻址kml

Google maps api 3 在Google地图v3的Google Earth API中动态寻址kml,google-maps-api-3,google-earth,google-earth-plugin,Google Maps Api 3,Google Earth,Google Earth Plugin,我使用在一个窗口中显示kml文件,然后可以在地图和地球浏览器之间切换。这是一个与谷歌官方提供的插件不同的插件,我在地球窗口中动态切换kml时遇到了一个问题。我在Maps API V3窗口中使用复选框来切换它们,但当浏览器切换到Earth时,它将不再侦听复选框操作。基本上,我想做的是复制google代码游乐场上的交互式复选框示例,但我认为我应该使用Maps V3脚本 我在这里包含了一个指向示例脚本的链接: 非常感谢您的帮助! 当做 Kerry你的代码有错误。例如,该行 google.maps.

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

我在这里包含了一个指向示例脚本的链接:

非常感谢您的帮助! 当做
Kerry你的代码有错误。例如,该行

 google.maps.event.addListenerOnce(map, 'tilesloaded', addOverlays);
引用不存在的函数
addOverlays

还有,我不知道你是什么意思

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

…因为它是完全相同的插件

你还说

“…它不再侦听复选框操作。”

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

在初始化Earth插件后,通过

googleEarth = new GoogleEarth(map);
你没有用它做任何其他事情……你在问题中提到了Google代码操场上的代码,但据我所知,你还没有实际实现该示例中的任何代码


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

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

 google.maps.event.addListenerOnce(map, 'tilesloaded', addOverlays);
引用不存在的函数
addOverlays

还有,我不知道你是什么意思

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

…因为它是完全相同的插件

你还说

“…它不再侦听复选框操作。”

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

在初始化Earth插件后,通过

googleEarth = new GoogleEarth(map);
你没有用它做任何其他事情……你在问题中提到了Google代码操场上的代码,但据我所知,你还没有实际实现该示例中的任何代码

再看看这个例子中的函数
loadKml
方法——它清楚地显示了如何在Earth插件中加载和显示数据