カメラの設定を構成する

プラットフォームを選択: Android iOS JavaScript

ユーザーは、地図上でジェスチャーを使用して、カメラのズーム、チルト、位置、回転を制御できます。カメラをプログラムで設定することもできます。

3D カメラモデルを示す図

カメラの位置

地図ビューは、空間内の特定のポイントを見ているカメラとしてモデル化されています。カメラの位置と向きは、緯度、経度、高度の座標(カメラが向いている「中心」として定義)、方位、傾き、範囲、ロールで定義されます。

中心(緯度、経度、高度)

center は、カメラが観測している 3D 空間内の特定のポイントを定義します。これは、緯度、経度、高度の値を組み合わせた LatLngAltitude クラスを使用して指定します。これにより、カメラの焦点を 3 次元で配置できます。

緯度は、-90 ~ 90 度の範囲で指定できます。経度は -180~180 度の範囲になります。高度はメートル単位で指定します。高度の解釈方法は、カメラの altitudeMode(デフォルトでは AltitudeMode.ABSOLUTE、AltitudeMode.RELATIVE_TO_GROUND、または AltitudeMode.RELATIVE_TO_MESH)によって決まります。

見出し

heading は、地図のコンパス方位を真北からの時計回り方向への度数で指定します。北は 0 度、東は 90 度、南は 180 度、西は 270 度に対応します。

傾斜

tilt は、垂直軸に対するカメラの角度を度数で指定します。傾斜が 0 度の場合は、カメラが地球の真下(天底)を向いていることを意味します。傾きが 90 度の場合は、カメラが heading で指定された方向に水平に向けられていることを意味します。

範囲

range は、カメラ自体の位置と地図の中心との距離をメートル単位で定義します。範囲は 0 メートル(非常に近い)から 6, 300 万メートルまであり、非常に近い視点から真にグローバルな視点まで表示できます。これにより、地図の「ズームイン」または「ズームアウト」の表示方法を効果的に制御できます。

ロール

roll は、水平線に対するカメラの角度を度数で設定します。このパラメータを使用すると、フライト シミュレーション中のバンキングや、バレルロール全体などの効果を作成し、カメラを視線軸を中心に回転させることができます。

カメラの制御

次のコードサンプルは、GoogleMap3D で setCamera メソッドを呼び出して、Camera をプログラムで制御する方法を示しています。このコードサンプルを使用するには、設定とアプリに 3D 地図を追加するの手順に沿って、基本的な 3D 地図を含む Android Studio プロジェクトを設定します。次に、MainActivity.kt ファイルに次のコードを追加します。


// Add imports
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.camera
import com.google.android.gms.maps3d.model.latLngAltitude

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 38.743502
            longitude = -109.499374
            altitude = 1467.0
        }
        heading = 350.0
        tilt = 58.1
        range = 138.2
        roll = 0.0
    }
)

UI コントロール

Maps 3D SDK for Android には、標準の操作に加えて、カメラの位置を操作するための UI コントロールも用意されています。

  • ズーム コントロールには、地図のズームレベルを変更する [+] ボタンと [-] ボタンが表示されます。
  • 移動コントロールを使用すると、「←」、「→」、「↑」、「↓」ボタンが表示され、地図の中心点を変更できるようになります。
  • 回転コントロールには、カメラの向きを変更する「↺」と「↻」が表示されます。
  • 傾斜コントロールには、カメラの傾斜を変更する「^」と「⌄」が表示されます。
  • コンパス コントロールは、コンパスの北方向を示し、カメラを北向きにリセットできるようにします。

次のコードサンプルは、UI コントロールの表示設定を変更する方法を示しています。

```kotlin // インポートを追加 import com.google.android.gms.maps3d.UiControlSettings import com.google.android.gms.maps3d.model.CompassControl import com.google.android.gms.maps3d.model.TiltControl import com.google.android.gms.maps3d.model.ZoomControl</p> <p>...</p> <p>val uiControlSettings = googleMap3D.getUiControlSettings()</p> <p>// 地図の後端に UI コントロールを表示 uiControlSettings?.setUiControlsPlacement( listOf(CompassControl(), ZoomControl(), TiltControl()), UiControlSettings.ControlPlacement.TRAILING )</p> <p>// 地図の後端の UI コントロールを非表示 uiControlSettings?.setUiControlsPlacement( emptyList(), UiControlSettings.ControlPlacement.TRAILING )