Google maps Google Earth API:如何在更改相机位置时防止跳高?
在Google Earth(web浏览器插件,GE API)中,我通过更改坐标将相机从点A移动到点B。 这是可行的,但通用电气似乎总是在途中跳高 示例(使用ge.ALTITUDE\u绝对设置) (注意两点的海拔高度均为1000 m) 位置更改工作正常,但enroute GE会使用Eye Alt.缩小到72km,然后再次返回到所需的1000.0 m(状态行中读取的值,飞行速度设置为极慢) 有没有办法抑制这种高跳,并保持在一个固定的高度? 到目前为止,我甚至找不到对这种行为的全面描述,更不用说控制它的参数了 (显然,“flightsim”类型的GE应用程序可以做到这一点,但我认为它们并没有使用坐标变化,而是基于航向/速度数据进行移动)。但是,必须先将两个坐标集转换为速度/速度,然后再转换回坐标,以实现恒定的高度运动,这似乎有点愚蠢。)Google maps Google Earth API:如何在更改相机位置时防止跳高?,google-maps,google-earth,google-earth-plugin,Google Maps,Google Earth,Google Earth Plugin,在Google Earth(web浏览器插件,GE API)中,我通过更改坐标将相机从点A移动到点B。 这是可行的,但通用电气似乎总是在途中跳高 示例(使用ge.ALTITUDE\u绝对设置) (注意两点的海拔高度均为1000 m) 位置更改工作正常,但enroute GE会使用Eye Alt.缩小到72km,然后再次返回到所需的1000.0 m(状态行中读取的值,飞行速度设置为极慢) 有没有办法抑制这种高跳,并保持在一个固定的高度? 到目前为止,我甚至找不到对这种行为的全面描述,更不用说控制它
感谢所有提示。如果您在使用GE插件时希望动画平滑,那么我可以直截了当地告诉您,GE使用的默认算法是不够的。您的最佳选择是将飞行速度设置为如下所示:
ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);
然后自己创建过渡路径,或者在起点和终点之间插入帧,或者预定义这些帧(提示:您将需要更多的中间点)
最简单的方法是挂接frameend事件,该事件在插件完成绘制屏幕后立即触发,然后立即重新定位相机。我能想到的最好的例子就是:
不幸的是,这个例子工作在一条直线上,使相机曲线更具挑战性
另一种选择可能是查看GE插件对KML的本机支持,通过加载KML教程并通过插件播放,您可以让插件完成繁重的工作
ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);