我尝试为Google earth(c ++)编写自己的应用程序界面。 我正在使用Earthlib来控制相机(EARTHLib :: ICameraInfoGE)。该界面允许控制摄像机的经度,纬度等。 例如:
EARTHLib::ICameraInfoGE* pCamera;
double shift = ...
....
pCamera->PutFocusPointLongitude(pCamera->GetFocusPointLongitude() + shift);//new longitude
ge->raw_SetCamera(pCamera, 1.0);
但是当我用很小的'shift'制作很多'PutFocusPointLongitude'时,我的动作很不稳定。 (大转变不满意我)。 有没有办法像原生GE控制那样控制相机的移动?
PS对不起我的写作错误。英语不是我的母语。
答案 0 :(得分:1)
你可以在这里做几件事:
“传送”到所需位置。自从我使用COM API以来已经有一段时间了,我不记得你是否可以将速度传递给设置的相机功能。如果可以的话,传送速度是> = 5.0。如果你不能,你绝对可以将全球目标速度设置为5.0或更高
如果您正在尝试创建“旋转地球”类型的东西,您可以调用该功能非常快速地改变视图(例如,60Hz,例如,每秒60次)并且移动相机很少在每次更新期间。这将产生“旋转地球”类型的效果。
如果你不是想做一个旋转地球类型的东西,你可以使用与数字(2)相同的原则来飞行以平稳飞行到目的地
您可以切换到使用KML游览,但遗憾的是您无法使用COM API启动/停止它们。这已经被打破了很长时间,我不认为谷歌会修复它,因为不推荐使用COM API。