【问题标题】:KML - Dynamic Screen Overlay IconKML - 动态屏幕覆盖图标
【发布时间】:2014-04-23 17:10:38
【问题描述】:

我希望添加一个动态谷歌图表 URL 作为带有 KML 的屏幕覆盖。图表图像是由 URL 中的参数生成的,但由于输出不是图像文件,因此出现错误。 我已经成功地将图表添加到气球内的描述中,但我似乎无法在图标样式标签中使用 CDATA 标签。任何帮助将不胜感激。谢谢。

<?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">
<ScreenOverlay>
    <name>Chart</name>
    <Icon>
        <href>http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World</href>
    </Icon>
    <overlayXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
    <screenXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
    <rotationXY x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
    <size x="0" y="0" xunits="pixels" yunits="pixels"/>
</ScreenOverlay>
</kml>

【问题讨论】:

    标签: kml google-earth


    【解决方案1】:

    必须转义 CDATA 块中的 URL 或使用 XML entity/character references

    <Icon>
        <href>
          <![CDATA[http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World]]>
        </href>
    </Icon>
    

    使用 XML 实体引用编码特殊字符(例如,'&' => &amp;amp;
    或字符引用 ('|' => &amp;#x7C;)

    <Icon>
        <href>http://chart.googleapis.com/chart?cht=p3&amp;chd=t:60,40&amp;chs=250x100&amp;chl=Hello&#x7C;World</href>
    </Icon>
    

    【讨论】:

    • 为什么是 HTML 实体?您肯定是指 XML 实体吗? en.wikipedia.org/wiki/…
    • 谢谢巴里,XML 有一个 HTML 实体的子集。这些术语经常互换使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 2015-05-17
    相关资源
    最近更新 更多