1

我尝试为 Google earth (c++) 编写自己的应用程序接口。我正在使用 Earthlib 来控制相机(EARTHLib::ICameraInfoGE)。该接口允许控制相机的经度、纬度等。示例:

EARTHLib::ICameraInfoGE* pCamera;
double shift = ...
....
pCamera->PutFocusPointLongitude(pCamera->GetFocusPointLongitude() + shift);//new longitude
ge->raw_SetCamera(pCamera, 1.0);

但是,当我用小的“移位”制作许多“PutFocusPointLongitude”时,我的动作很不稳定。(大转变不满足我)。有什么方法可以像原生 GE 控制一样控制相机的移动吗?

PS对不起我的写作错误。英语不是我的母语。

4

1 回答 1

1

您可以在这里做几件事:

  1. “传送”到所需位置。自从我使用 COM API 以来已经有一段时间了,我不记得你是否可以将速度传递给设置的相机功能。如果可以的话,传送速度是>= 5.0。如果不能,您绝对可以将全局启动速度设置为 5.0 或更高

  2. 如果您正在尝试创建“旋转地球”类型的东西,您可以调用该函数以非常快速地更改视图(例如,60Hz,例如每秒 60 次)并在每次更新期间移动相机非常少。这将创建一个“旋转地球”类型的效果。

  3. 如果您不尝试做旋转地球类型的事情,您可以使用与数字(2)相同的原理来飞行以平稳飞行到您的目的地

  4. 您可以切换到使用 KML 游览,但遗憾的是您无法使用 COM API 启动/停止它们。这已经被破坏了很长时间,我不认为谷歌会修复它,因为 COM API 已被弃用。

于 2013-07-21T19:08:18.977 回答