谷歌地球连续地标延时

时间:2014-12-26 16:26:16

标签: kml google-earth

我有一个KML文件,在全球各地都有几个不同的地标。我想飞到第一个地标并显示它的气球,等待一两分钟,然后飞到下一个地标,然后重复这个过程直到所有地标都显示出来。

我想我可以通过将所有地标放入tour来实现这一点,但这似乎不是正确的方法。我将从服务器刷新KML,我不确定游览会对此做出反应(例如,我认为你必须在开始游览之前总是点击游戏)。

如果无法做到这一点,我可能只需在KML文件中放置一个地标,然后使用不同的地标继续刷新文件。我认为这种做法可能会很糟糕,因为它会让人耳目一新。

1 个答案:

答案 0 :(得分:0)

我最终为每个KML文件添加了一个地标。我用Java编写了一个程序,它使用Saxon处理器和一个XSLT样式表创建多个KML文件,每个文件只有一个地标,然后使用this tutorial我能够逐个循环浏览KML文件。 / p>

在我的机器上本地执行此操作时,我创建了两个文件夹。文件夹A包含所有KML文件。文件夹B只容纳一个KML文件,该文件是KML NetworkLink标签所期望的文件。在Java程序中,我有一个计时器线程,它顺序删除文件夹B中的单个文件,从文件夹A中删除文件,将其移动到文件夹B,然后将新放置的文件重命名为KML NetworkLink标记所需的公用名。我希望这会有所帮助,链接将有助于使其更有意义。

(加载到Google地球的基本KML文件 - 基本上告诉Google地球每隔10秒查找一次名为every10.kml的文件。如果我们每9秒更换一次该文件,那么一旦谷歌刷新它地球它将是一个新的KML文件,从而显示新的地标)

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
  <NetworkLink>
    <Link>
      <href>every10.kml</href>
      <refreshMode>onInterval</refreshMode>
    <refreshInterval>10</refreshInterval>
    </Link>
  </NetworkLink>
</Document>
</kml>