kml文档在谷歌地球自动刷新

时间:2014-08-20 08:03:26

标签: kml google-earth

我有一个应用程序,随着时间的推移将Placemarks写入kml文件,随着时间的推移慢慢建立一条路线。

当我在Google地球中打开文件时,我可以看到文件中已存在Placemarks,但添加到文档中的任何新文件都不会显示在地图上,直到我再次重新打开该文档。 / p>

有没有办法让文档在Google地球中自动刷新?

我已经尝试将NetworkLink放入文档中,其href指向自身(文件)refreshMode onChange,这样可行,但整个文档重新加载每次更改,每个点都会再次显示,这很麻烦。

注意:我无法更改应用代码,以生成单个Placemark更新,我认为这是使用NetworkLinks的正确方法。

2 个答案:

答案 0 :(得分:1)

在KML中执行增量更新的唯一方法是将NetworkLinkControl元素与NetworkLink结合使用。

NetworkLinkControl控制<NetworkLink>提取的文件的行为,您可以在其中更改,添加或删除已提取的元素。

 <NetworkLinkControl>
    <cookie>cookie=sometext</cookie>
    <linkName>link name</linkName>
    <Update>
      <targetHref>same-targethref-for-networklink</targetHref>
      <Create>
        <Document targetId="targetdoc">
          <Placemark>
            <name>Created place1</name>
          </Placemark>
          <Placemark>
            <name>Created place2</name>
          </Placemark>
        </Document>
      </Create>
      ...
    </Update>
 </NetworkLinkControl>

NetworkLinkControl工作起来很棘手,例如NetworkLink中的URL和NetworkLinkControl必须完全匹配。

您可以找到一个带有示例的教程来开始。 https://developers.google.com/kml/documentation/updates

答案 1 :(得分:0)

所以我想你不能。我认为在kml内可能会有某种结构来达到这个目的,坚果看起来不会。