我有一个系统设置,其中在许多用户系统中安装了简单的NetworkLink。
然后我定期(每周左右)更新它链接到的kml / z文件,用户可以刷新以查看最新版本。
如果我自动刷新它本来会很好但是当我创建它时我并没有想太多。
有没有一种方法可以在已经分布的网络链接中安装更新过程,或者这个链接可以通过第二个网络链接工作,以便以“最新版本”模式获取大型kml文件。
让链接更加隐形也很好。
目前的链接是: kml具有通常的标题并包含这一个对象
<NetworkLink>
<name>etc</name>
<Snippet maxLines="0"/>
<visibility>1</visibility><open>1</open>
<refreshVisibility>0</refreshVisibility>
<flyToView>1</flyToView>
<Link>
<href>http://dl.dropbox.com etc TrapLinesData.kmz</href>
</Link>
</NetworkLink>
但我没有放任何刷新模式等。
对于这种引导需求的任何想法都将受到赞赏,因为试图向不太熟练的用户展示如何刷新正成为一个问题。
Bob J。'
答案 0 :(得分:1)
通过在KML中使用NetworkLink,所有Google地球客户端都会加载每次启动时引用的最新KML。 Google地球不会存储NetworkLink的内容(仅限NetworkLink参考本身) - 每次启动时都会提取该内容。
如果您每周只更新一次目标KML,而不是每小时更新一次,那么您应该不会遇到客户端中当前存在的KML问题。唯一无法获得更新的客户是Google Earth客户端,这些客户端一次只能保持运行数周而不常见。
如果您想要强制刷新一周间隔,那么您可以将NetworkLink定义如下:
<NetworkLink>
<Link>
<href>...</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>604800</refreshInterval>
</Link>
</NetworkLink>
如果您的KML仅适用于特定区域,那么您可能需要在NetworkLink中定义Region并将<viewRefreshMode>
更改为 onRegion ,以便仅在该区域加载在视野中。如果区域不在视图中,则无需获取KML - KML最佳实践。你的KML看起来像这样:
<NetworkLink>
<Region>
...
</Region>
<Link>
<href>...</href>
<refreshMode>onInterval</refreshMode>
<refreshInterval>604800</refreshInterval>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>