KML图标参考中的变量替换

时间:2014-07-12 03:50:02

标签: kml google-earth variable-subsitution

如何在kml图标参考中进行变量替换?我使用Google地球加载了kml,我的图片并没有出现在这个简单的例子中:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <Document>
      <name>TestMap</name>
      <Style id="Icon1">
          <IconStyle>
            <Icon>
              <href>$[url]</href>
            </Icon>
          </IconStyle>
      </Style>
      <Placemark> 
        <name>Hello World</name>
        <styleUrl>#Icon1</styleUrl>
        <ExtendedData>
            <Data name="url"> 
                <value>http://magiccards.info/scans/en/al/232.jpg</value>
            </Data>
        </ExtendedData>
        <Point>
          <coordinates>
            0,0,0
          </coordinates>
        </Point>
      </Placemark>
    </Document>
  </Document>
</kml>

1 个答案:

答案 0 :(得分:1)

KML中扩展数据的变量替换仅适用于描述的上下文,因此您可以通过description balloon显示地标的数据网址。

<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
  <name>Data+BalloonStyle</name>
  <Style id="balloon-style">
    <BalloonStyle>
      <text>
        <![CDATA[
            $[name]<br>
            <img src="$[url]"/>
        ]]>
      </text>
    </BalloonStyle>
  </Style>
  <Placemark>
    <name>Hello World</name>
    <styleUrl>#balloon-style</styleUrl>
    <ExtendedData>
        <Data name="url"> 
            <value>http://magiccards.info/scans/en/al/232.jpg</value>
        </Data>
    </ExtendedData>
    <Point>
      <coordinates>-111.956,33.5043</coordinates>
    </Point>
  </Placemark>
</Document>
</kml>

请参阅相关教程,了解如何使用BalloonStyle元素作为模板添加自定义数据 https://developers.google.com/kml/documentation/extendeddata

如果您想通过每个地标的IconStyle显示自定义图标,则需要使用相应的网址为每个地标定义内联样式。

  <Placemark>
    <name>Hello World</name>
    <Style>
      <IconStyle>
        <Icon>
            <href>http://magiccards.info/scans/en/al/232.jpg</href>
        </Icon>
    </IconStyle>
    </Style>
    <Point>
      <coordinates>-111.956,33.5043</coordinates>
    </Point>
  </Placemark>