我有一个应用程序,随着时间的推移将Placemarks
写入kml
文件,随着时间的推移慢慢建立一条路线。
当我在Google地球中打开文件时,我可以看到文件中已存在Placemarks
,但添加到文档中的任何新文件都不会显示在地图上,直到我再次重新打开该文档。 / p>
有没有办法让文档在Google地球中自动刷新?
我已经尝试将NetworkLink
放入文档中,其href指向自身(文件)refreshMode
onChange
,这样可行,但整个文档重新加载每次更改,每个点都会再次显示,这很麻烦。
注意:我无法更改应用代码,以生成单个Placemark
更新,我认为这是使用NetworkLinks
的正确方法。
答案 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内可能会有某种结构来达到这个目的,坚果看起来不会。