1

ドキュメント ( https://developers.google.com/earth/documentation/camera_control ) で説明されているように、C# の GE-PlugIn (Interop.GEPlugin.dll) を使用して、現在のビューに対して Google Earth をパンしようとしました。 FlyToSpeed。

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?

これはエラーではなく、デフォルトの動作です。

fly to speed がプラグイン以外SPEED_TELEPORTの何かに設定されている場合、動きの中間点に向かってズームアウトし、ループモーションで最後に向かってズームインします。

私の知る限り、これが発生する速度以外にこれを制御する方法はありません。

「固定高度/範囲への飛行」を実装したい場合は、非常に簡単に実行できます。一般的な方法は、(アニメーション化されたループを削除するために) 速度をそのままにしてから、 frameEnd イベントSPEED_TELEPORTを介して段階的にカメラを手動で移動することです。

「frameEnd」を介してカメラをスムーズにアニメーション化するこの例を見てください- ニーズ (トップダウン、固定高度など) に合わせて簡単に適応できると確信しています。

于 2014-06-04T18:57:18.857 に答える