首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在播放KML制作的导览时,是否可以动态控制摄像头?

在播放KML制作的导览时,是否可以动态控制摄像头?
EN

Stack Overflow用户
提问于 2012-02-21 09:00:42
回答 2查看 628关注 0票数 1

使用Google Earth插件AI,我想用touring capability播放一个用KML编写的教程,但让用户在播放过程中修改camera controls

有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 06:10:42

这取决于您想要允许多少修改。

漫游回放设计用于用户更改视图的方向(通过拖动或相机控件),但不能更改位置。如果用户停止更改视图的时间足够长,摄像机将平滑地捕捉回巡视中该点的默认方向。缩放和平移控件在漫游过程中消失,但如果用户尝试通过其他方法(如键盘)更改相机位置,漫游通常会暂停。

但是,Earth API允许您吸收或更改任何这些事件行为,因为您可以为鼠标和键盘事件添加侦听器,并阻止它们照常处理或以完全不同的方式对它们执行操作。

如果您还没有尝试过,在Google Code Playground中有一个tour example,您可以在其中看到基于默认事件响应的不同交互发生了什么。

最后,如果您想要真正的自定义漫游行为--比如在漫游继续时允许相机的某些类型的移动远离漫游路径--您很可能需要编写自己的相机移动代码。获得这种工作的基础并不是太难,但要获得这种交互的正确的直观感觉是困难的,而且可能依赖于数据集。首先,您可以直接解析KML,找到巡视和它包含的巡视基元,然后使用引用的常规相机控件在这些基元之间移动,为用户提供的任何移动添加偏移量。

编辑:问题中引用的Earth API浏览页面通过获取插件来为您提供an example of getting started with parsing the KML file。您可以通过使用KML DOM遍历代码来查找所有的tour原语(而不是在找到Tour元素后立即停止),从而实现上述建议。

这并不总是最有效的方法(插件函数调用有开销,同时浏览器具有内置的XML解析功能),但它可能是最直接的开始方式。对于许多旅行团来说,这种方法就足够了。

票数 3
EN

Stack Overflow用户

发布于 2012-02-22 14:59:13

这是可能的,但很难实现,更难很好地控制。我已经尝试了很长一段时间了。我自己并没有取得太大的成功,但这里有两个其他人取得了一些进展的例子。

首先,他们使用的基本原理是基于TICK的--一个简单的例子是这里的http://earth-api-samples.googlecode.com/svn/trunk/examples/event-frameend.html

这两个示例是:http://maps.myosotissp.com/http://racemyrace.com/race.php

另外,这是一个直到最近还在运行的例子,我不确定它为什么停止了,但看起来你仍然可以阅读正在使用的JS。它是由创建种族竞赛网站http://www.thekmz.co.uk/GEPlugin/pathtour/v3/path_tour_v3.htm的同一个人制作的

如果你碰巧想出了什么,我将感谢你创建一个简单的示例页面并分享链接。这可能需要一段时间,所以如果你可以通过个人资料查找我的电子邮件,并通知我,那就更好了。

祝好运!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9370708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档