我是KML格式的新手,并试图弄清楚如何显示一条船(一个png),沿着一条路径从一个地方移动到另一个地方(一条由几条线组成的简单线条).
我可以看到如何分别显示地标,即使是图标和路径.
点击KML文件时我想看到的是:
这甚至可能吗?我知道这是谷歌地图,但你可以使用Javascript编程,这可以减轻很多事情.
gib*_*bss 11
我能够在静态KML中工作的唯一方法是在起点和终点之间进行插值,并为我想要动画的每个帧添加地标.因此,从t = 0到t = 1,在起点绘制一个地标.从t = 1到t = 2,在下一个点绘制一个地标,等等.
这为您提供了Google地球中的时间玩家栏,您可以回放或推进动画.然而,它有点烦人,因为你最终得到地标树中的每个插值点.将地标放在自己的文件夹中会使它们不受阻碍,但是无法将它们隐藏在用户之外.
请查看http://code.google.com/apis/kml/documentation/time.html#animating 鲸鲨示例或多或少地为地标做了什么.(标记图标的URL已损坏).可以使用相同的技巧来完成沿轨道的进度动画.
如果您想尝试更困难的事情,可以尝试提供动态KML.让Google地球加载到您的初始数据的网络链接.然后加载另一个网络链接,并在每次打勾时发送地标更新.
这种方法有一些严重的缺点,因为它需要一个外部程序来驱动Google Earth,并且它不会让用户访问内置的Google Earth时间播放器栏.它还要求通过网络链接加载所有数据 - 无法更新文件中的KML数据.这意味着您的驱动程序需要充当http服务器.此外,在此模型中,很难确切知道Google地球何时完成加载和绘制更新.我真的不建议这样做; 您可以使用Google地球COM API使其工作,但它始终是一个脆弱的解决方案.
lif*_*ood 10
这是一个古老的问题,现在有一种更好的方法可以沿着预定的线串移动地标(甚至更好的模型).考虑使用此功能:
http://code.google.com/apis/kml/documentation/kmlreference.html#gxtrack
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
xmlns:gx="http://www.google.com/kml/ext/2.2">
<Folder>
<Placemark>
<gx:Track>
<when>2010-05-28T02:02:09Z</when>
<when>2010-05-28T02:02:35Z</when>
<when>2010-05-28T02:02:44Z</when>
<when>2010-05-28T02:02:53Z</when>
<when>2010-05-28T02:02:54Z</when>
<when>2010-05-28T02:02:55Z</when>
<when>2010-05-28T02:02:56Z</when>
<gx:coord>-122.207881 37.371915 156.000000</gx:coord>
<gx:coord>-122.205712 37.373288 152.000000</gx:coord>
<gx:coord>-122.204678 37.373939 147.000000</gx:coord>
<gx:coord>-122.203572 37.374630 142.199997</gx:coord>
<gx:coord>-122.203451 37.374706 141.800003</gx:coord>
<gx:coord>-122.203329 37.374780 141.199997</gx:coord>
<gx:coord>-122.203207 37.374857 140.199997</gx:coord>
</gx:Track>
</Placemark>
</Folder>
</kml>
Run Code Online (Sandbox Code Playgroud)