繁体   English   中英

Google地球插件忽略的KML中的JavaScript

[英]JavaScript In KML Ignored By Google Earth Plugin

我创建了一个简单的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 API会删除气球描述中的任何javascript。 常见的解决方法是在地标上侦听点击事件(或更常见的是气球开放事件),然后以编程方式使用完整内容重新创建HtmlDivBalloon。 有关详细信息,请访问http://code.google.com/apis/earth/documentation/balloons.html#getballoonhtmlunsafe

我有类似的问题,并一直在寻找解决方案。 我找到了这个答案,我还没有尝试过,但它可能对你有用:

http://markmail.org/message/ivlw7jv3u5nxwkde

我希望如此 - 分享你的成功!

一个简单的JavaScript代码(甚至简单的jQuery)可以输入或者它可以工作。 但仅限Google地球环境。 在谷歌地球API折旧后,我们无法在谷歌地球以外的.kml文件中使用JS。 在这里阅读更多相关信息: http//www.mkrgeo-blog.com/content-management-in-kml-files/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM