1

我尝试使用 C# (Interop.GEPlugin.dll) 中的 GE-PlugIn 相对于当前视图平移 Google 地球,如文档 ( https://developers.google.com/earth/documentation/camera_control ) 中所述,具有固定飞速。

将 FlyToSpeed 设置为 SPEED_TELEPORT 时,一切正常:

ge.getOptions().setFlyToSpeed(ge.SPEED_TELEPORT);
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE)
lookAt.setLongitude(lookAt.getLongitude() + 1);
ge.getView().setAbstractView(lookAt); // Works as expected

将 FlyToSpeed 设置为特定数字,平移受到越来越多的缩小行为的干扰:

ge.getOptions().setFlyToSpeed(3);
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_ABSOLUTE)
lookAt.setLongitude(lookAt.getLongitude() + 1);
ge.getView().setAbstractView(lookAt); // why the view zooms out while panning?

如果有人有想法或方法,我会很高兴。预先感谢您的帮助。

4

1 回答 1

1
why does the view zoom out while panning?

这不是错误,这是默认行为。

如果将“飞到”速度设置为SPEED_TELEPORT插件以外的其他值,则会向运动的中点缩小,然后以循环运动的方式向末端放大。

AFAIK 除了它发生的速度之外,没有其他方法可以控制它。

如果您想实现“以固定高度/范围飞行”,您可以很容易地做到这一点。一种常见的方法是将速度保持在SPEED_TELEPORT(以删除动画循环),然后通过frameEnd 事件以增量步骤手动移动相机。

看看这个通过“frameEnd”平滑地为相机设置动画的例子——我相信你可以很容易地调整它以满足你的需要(自上而下、固定高度等)。

于 2014-06-04T18:57:18.857 回答