カメラの設定を構成する

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

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

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

カメラの位置

地図ビューは、3D 空間内の特定のポイントを見ているカメラとしてモデル化されています。カメラの位置と向き(したがって地図のレンダリング)は、center(カメラが向いている緯度/経度/高度の位置)、heading、tilt、range、roll の各プロパティで指定されます。

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

center は、カメラが観測している 3D 空間内の特定の点を定義します。これは、緯度、経度、高度の値を組み合わせた LatLngAltitude クラスを使用して指定されます。これにより、カメラの焦点の 3 次元での正確な位置決めが可能になります。

緯度は、-90 ~ 90 度の範囲で指定できます。経度は -180~180 度の範囲になります。高度は海抜からのメートル単位で指定します。

見出し

カメラの見出しは、カメラが向く方向を真北からの時計回りの角度で指定します。北は 0 度、東は 90 度、南は 180 度、西は 270 度に対応します。これにより、中心点の垂直軸を中心としたカメラの向きが決まります。

傾斜

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

範囲

範囲は、カメラの位置とカメラが向いている中心点との間の距離をメートル単位で定義します。範囲は 0 メートル(非常に近い)から 6, 300 万メートルまで変化し、非常に近い視点から真にグローバルな視点まで、あらゆる視点での表示が可能です。これにより、地図の拡大 / 縮小の度合いを効果的に制御できます。

回転

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

カメラの制御

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

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

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
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
    }
)