Google maps Google Earth API:如何在更改相机位置时防止跳高?

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(状态行中读取的值,飞行速度设置为极慢) 有没有办法抑制这种高跳,并保持在一个固定的高度? 到目前为止,我甚至找不到对这种行为的全面描述,更不用说控制它

在Google Earth(web浏览器插件,GE API)中,我通过更改坐标将相机从点A移动到点B。 这是可行的,但通用电气似乎总是在途中跳高

示例(使用ge.ALTITUDE\u绝对设置)

(注意两点的海拔高度均为1000 m)

位置更改工作正常,但enroute GE会使用Eye Alt.缩小到72km,然后再次返回到所需的1000.0 m(状态行中读取的值,飞行速度设置为极慢)

有没有办法抑制这种高跳,并保持在一个固定的高度? 到目前为止,我甚至找不到对这种行为的全面描述,更不用说控制它的参数了

(显然,“flightsim”类型的GE应用程序可以做到这一点,但我认为它们并没有使用坐标变化,而是基于航向/速度数据进行移动)。但是,必须先将两个坐标集转换为速度/速度,然后再转换回坐标,以实现恒定的高度运动,这似乎有点愚蠢。)


感谢所有提示。

如果您在使用GE插件时希望动画平滑,那么我可以直截了当地告诉您,GE使用的默认算法是不够的。您的最佳选择是将飞行速度设置为如下所示:

ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);
然后自己创建过渡路径,或者在起点和终点之间插入帧,或者预定义这些帧(提示:您将需要更多的中间点)

最简单的方法是挂接frameend事件,该事件在插件完成绘制屏幕后立即触发,然后立即重新定位相机。我能想到的最好的例子就是:

不幸的是,这个例子工作在一条直线上,使相机曲线更具挑战性

另一种选择可能是查看GE插件对KML的本机支持,通过加载KML教程并通过插件播放,您可以让插件完成繁重的工作

ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);