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 です。それができない場合は、グローバルの go-to 速度を 5.0 以上に確実に設定できます。

  2. 「地球の回転」タイプのものを作成しようとしている場合は、関数を呼び出してビューを非常に高速に変更し (たとえば、60Hz、たとえば 1 秒あたり 60 回)、各更新中にカメラをほとんど動かさないようにすることができます。これにより、「地球の回転」タイプの効果が作成されます。

  3. 回転する地球タイプのことをしようとしていない場合は、目的地への飛行をスムーズにするために、番号 (2) と同じプリンシパルを使用して飛行できます。

  4. KML ツアーを使用するように切り替えることはできますが、残念ながら、COM API を使用して開始/停止することはできません。これは長い間機能していませんでした。COM API が廃止されたため、Google が修正するとは思えません。

于 2013-07-21T19:08:18.977 に答える