Cesium.Viewerの中心となる座標を設定するにはどうすればよいですか?


10

公式のCesiumJSチュートリアルにはHelloWorld、マップビューアーを表示するサンプルアプリケーションがあります。

ユーザーがページを開いたときに、地球が特定のポイントの中央に、特定のズームで配置されるようにします。

スクリーンショット

どうすればこれを達成できますか?

Cesium.Viewertimeline以下のように)コンストラクター・パラメーターを介して構成できると想定しましたが、参照にそれらが見つかりませんでした。

<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer', 
      {
        timeline: false,
        animation: false
      });
  </script>
</body>
</html>

回答:


5

ビューアウィジェットを作成する前に「デフォルト」のカメラビューを設定できます。これは、初期ビューと「ホーム」ボタンビューの両方に使用されます。次のように、Cameraクラス(参照ドキュメント)の静的プロパティDEFAULT_VIEW_FACTORおよびDEFAULT_VIEW_RECTANGLEを使用してこれを設定します。

var west = 122.0;
var south = 33.0;
var east = 130.0;
var north = 47.0;

var rectangle = Cesium.Rectangle.fromDegrees(west, south, east, north);

Cesium.Camera.DEFAULT_VIEW_FACTOR = 0;
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = rectangle;

// NOTE: Viewer constructed after default view is set.
var viewer = new Cesium.Viewer('cesiumContainer');

また、Sandcastle Camera Demoは、構築後、実行時にカメラを特定の場所に飛ばしたりスナップしたりする方法をいくつか示しています。ドロップダウンボックスセレクター(地球の左上)を使用して、さまざまなオプションを表示します。


7

ビューアをすでに作成している場合は、そのビューアの作成後にこのコードを配置して、特定の経度、緯度へのズームを作成できます。

var center = Cesium.Cartesian3.fromDegrees(-82.5, 35.3);
viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, 0.0, 4200000.0));

そして、2行目の3項を設定する32500000.0と、ホームボタンの効果と同様に、より遠くに離れます。したがって、その第3項を変化させて、希望するズームを取得してください。


それは私にとってマウスをめちゃくちゃにして、パンが新しい中心点の周りで地球を動かすように思われます。
リチャード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.