1

我有一个系统设置,其中在许多用户系统中安装了一个简单的 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>

但我没有放任何 refreshModes 等。

任何关于这种引导需求的想法都会被理解为试图向不太熟练的用户展示如何刷新正在成为一个问题。

鲍勃·J。

4

1 回答 1

1

通过在您的 KML 中添加 NetworkLink,所有 Google 地球客户端都会加载每次启动时引用的最新 KML。Google 地球不会存储 NetworkLink 的内容(仅 NetworkLink 引用本身)——每次启动时都会获取该内容。

如果您只每周更新一次目标 KML 而不是每小时更新一次,那么您应该不会对 KML 有问题,因为它当前存在于客户端中。唯一不会获得更新的客户端是那些一次保持运行数周的 Google 地球客户端,这并不常见。

如果您想强制刷新甚至一周间隔,那么您可以将 NetworkLink 定义如下:

<NetworkLink>
  <Link>
    <href>...</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>604800</refreshInterval>
  </Link>
</NetworkLink>

如果您的 KML 仅适用于特定区域,那么您可能希望在 NetworkLink 中定义一个区域并更改<viewRefreshMode>onRegion,以便仅在该区域处于视图中时加载。如果该区域不在视图中,则无需获取您的 KML——KML 最佳实践。您的 KML 将如下所示:

<NetworkLink>
  <Region>
    ...
  </Region>
  <Link>
    <href>...</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>604800</refreshInterval>
    <viewRefreshMode>onRegion</viewRefreshMode>
  </Link>
</NetworkLink>
于 2013-05-05T11:47:07.440 回答