有没有办法进行从脚本中获取坐标并更新游览的游览?
我从 python 脚本中获取数据,然后想实时更新飞行到巡回赛中的协调员,但不知道该怎么做
我尝试使用网络链接,但它不起作用,我不确定我是否使用动画更新
有没有办法进行从脚本中获取坐标并更新游览的游览?
我从 python 脚本中获取数据,然后想实时更新飞行到巡回赛中的协调员,但不知道该怎么做
我尝试使用网络链接,但它不起作用,我不确定我是否使用动画更新
我还没有尝试过,但可以在 KML 中使用 NetworkLinkControl。您总共需要四个 KML 文件来实现它。在您的场景中,前三个可以是硬编码的,第四个可以从您的 python 脚本生成。
这是四个文件,为简洁起见,我错过了 KML 声明和根元素...
加载-tour.kml
<NetworkLink>
<name>load</name>
<Link>
<href>tour.kml</href>
</Link>
</NetworkLink>
旅游.kml
<Document>
<gx:Tour id="myTour">
<name>tour</name>
<gx:Playlist id="myPlaylist">
<!-- existing tour data goes here -->
</gx:Playlist>
</gx:Tour>
</Document>
更新-tour.kml
<NetworkLink>
<name>update</name>
<Link>
<href>new-data.kml</href>
</Link>
</NetworkLink>
新数据.kml
<NetworkLinkControl>
<Update>
<targetHref>tour.kml</targetHref>
<Change>
<gx:Playlist id="myPlaylist">
<!-- new tour data goes here -->
</gx:Playlist>
</Change>
</Update>
</NetworkLinkControl>
这是有关 networklinkcontrol 及其在更新数据中的用途的文档。
https://developers.google.com/kml/documentation/kmlreference#networklinkcontrol
您可以使用flytoView让 NetworkLink 自动更新相机位置。这不是真正的巡回赛,但工作方式类似。每次加载链接时,它都会飞到链接的 KML 中的新 LookAt 或 Camera 元素。
根.kml
<NetworkLink>
<Link><href>new_camera.kml</href></Link>
...
<flyToView>1</flyToView>
</NetworkLink>
new_camera.kml
<Document>
<Camera>...
or
<LookAt>...
</Document>
除了更改巡回赛名称元素之外,我还没有成功从 NetworkLink 更新巡回赛。我尝试开始循环 Tour,然后从 NetworkLinkControl 更改 Playlist 或 FlyTo 元素,但如果我手动重新启动 Tour,我只会看到相机发生变化。