0

如何在 kml 图标参考中进行变量替换?我正在使用 Google Earth 加载 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>
4

1 回答 1

1

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

<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每个地标显示自定义图标,那么您需要使用适当的 URL 为每个地标定义一个内联样式。

  <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>
于 2014-07-12T13:45:32.010 回答