首页 > 解决方案 > 谷歌地球 kml 动画更新多个更改

问题描述

我无法弄清楚如何在 KML 中应用多个动画更新“游览步骤”。请帮忙。所有数据都在此处链接以演示问题。在这个例子中..首先打开到铁路模型的链接 - 这有将您(用户)带到项目区域的快照。放大最北端的铁路曲线。然后打开另一个 KMZ - 名为 DOC02 ... DOC02 提供动画 (Tour) ... 播放游览 (第 2 部分) 并且 ... 料斗绕着曲线走一小段路,尽管游览数据有足够的步骤几乎完成了整个曲线 - 为什么只应用了前 3 个动画更新?...起初,我尝试使用无数其他有关此主题的堆栈溢出帖子所引用的指南。但那个结果更糟。3d 模型的位置 ID 为 t1,方向 ID 为 t2。当我在动画更新中使用这些作为目标 ID 时 - 太糟糕了!动画完全不正确,模型直接走到曲线的末端。所以。我在每次转换更改时添加了 ID。这个想法提供了更好的动画,但动画只使用了前 2 个动画更新。如果所有这些文字只是让人们头疼,请告诉我,我会提供一个视频......无论如何,我可能会在今天晚些时候制作一个。谢谢你的耐心。

KMZ Google 地球中的高架铁路模型

3d 料斗模型集在 KMZ Google 地球中绕曲线移动

标签: animationmodelkml

解决方案


https://developers.google.com/kml/documentation/touring#gxanimatedupdate-and-the-tour-timeline

上面的链接将带您到 kml 文档页面,其中明确指出:

“动画更新与时间线平行运行——也就是说,当动画更新正在进行时,游览直接继续到播放列表中的下一个游览原语。gx:duration 控制发生更新所需的时间长度,但不会延迟下一个游览图元。要允许动画更新在下一个动作发生之前完成,请在动画更新和以下游览图元之间插入一个持续时间等于更新持续时间的 gx:Wait . 此外,如果动画更新的持续时间超过最后一个 gx:FlyTo 或 gx:Wait 元素的持续时间,则动画更新将被截断。您可以更改适当的 gx:duration 值,或在末尾插入一个额外的 gx:Wait 元素的播放列表给动画更新时间来完成。

这实质上是在告诉您 AnimatedUpdate 不会让巡演继续进行。只有 flyTo 和 Wait 会延长行程。您的游览在前 2 个动画之后结束的原因是因为这是它可以在游览长度内完成的所有动画。

基本上,要解决您的问题,请在每个AnimatedUpdate之后插入一个持续时间 >= 您的 AnimatedUpdate 持续时间的 gx:wait 。这将延长游览时间,并让您的动画有时间在游览结束前完成。(因为 gx:wait 会延长游览时间)

(或者,在开头添加足够长的等待,就像你在结尾做的那样。)

另请参阅:https ://developers.google.com/kml/documentation/touring#tour-timelines


推荐阅读