我创建了一个简单的 KML 文件,该文件可以在独立的 Google 地球客户端中运行,但在 Google 地球插件中根本无法运行(无论浏览器如何):
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Folder>
<name>South Florida</name>
<open>1</open>
<Document>
<name>Miami</name>
<Style id="miami_style">
<IconStyle>
<Icon>
<href>http://i.imgur.com/CNrRU.gif</href>
</Icon>
</IconStyle>
<BalloonStyle>
<text><![CDATA[<font face="Arial">$[description]</font>]]></text>
</BalloonStyle>
</Style>
<Folder>
<name>Miami</name>
<open>1</open>
<Placemark id="Miami">
<name>Miami</name>
<description><![CDATA[
<script type="text/javascript">
function hideImage() {
var image = document.getElementById("image");
image.style.opacity = 0;
image.style.MozOpacity = 0;
image.style.KhtmlOpacity = 0;
image.filter = "alpha(opacity=0)";
}
</script>
<button id='clicker' onclick='hideImage();'>Click Me</button>
<img id="image" src="http://i.imgur.com/4rhT7.png">
]]></description>
<styleUrl>#miami_style</styleUrl>
<Point>
<coordinates>-80.22643611111111,25.788952777777777,0</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</Folder>
</kml>
基本上,我有一个默认显示的图像,我想让它在单击按钮时消失。最终,我希望能够通过单击来切换图像,但我认为这需要首先工作才能到达该步骤。
这在独立的 Google 地球中工作得很好,但在 Google 地球插件中不起作用。
奇怪的是,如果我在 JavaScript 控制台中运行它,这也适用于 Google Earth 插件after气球已经显示。它只是不承认文件中已有的代码。
有任何想法吗?
出于安全目的,Earth API 会删除气球描述中的所有 JavaScript。常见的解决方法是侦听地标上的单击事件(或更普遍的气球打开事件),然后以编程方式使用完整内容重新创建 HtmlDivBalloon。欲了解更多详情,请查看http://code.google.com/apis/earth/documentation/balloons.html#getballoonhtmlunsafe http://code.google.com/apis/earth/documentation/balloons.html#getballoonhtmlunsafe
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)