カメラパス アニメーションを追加する

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

カメラパス アニメーションを 3D マップに追加して、ユーザーの没入感を高めることができます。カメラパス アニメーションは、マップ上の特定の地点に Cameraを移動させたり、その地点の周りを旋回させたり、それらを 組み合わせてアニメーション化したりできます。また、その 高度 と altitudeModeを指定することもできます。

アニメーション用に Camera を構成する際は、 altitudeMode プロパティを設定(または setAltitudeMode) を呼び出し)て、カメラの高度の解釈方法を指定できます。

  • AltitudeMode.ABSOLUTE: 高度を平均海面からのメートル数として解釈します(指定しない場合のデフォルト値)。
  • AltitudeMode.RELATIVE_TO_GROUND: 高度をカメラの中心点における地表面からのメートル数として解釈します。
  • AltitudeMode.RELATIVE_TO_MESH: 高度をカメラの中心点における最も高い 3D メッシュ サーフェス(建物や木など)からのメートル数として解釈します。

ジャンプ

次のコードサンプルは、 Camera をアニメーション化して 3D マップ上の特定の地点に移動させる方法を示しています。これを行うには、 GoogleMap3D で flyCameraTo メソッドを FlyToOptions 構成で呼び出します。

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.FlyToOptions
import com.google.android.gms.maps3d.model.FlyAroundOptions
import com.google.android.gms.maps3d.model.Camera
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraTo(
    flyToOptions {
        endCamera = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0 // in meters
            }
            heading = 34.0 // bearing in degrees
            tilt = 67.0 // relative to vertical
            range = 750.0 // distance away from the focal point in meters
            roll = 0.0 // roll relative to horizontal
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 2000
    }
)

旋回

次のコードサンプルは、 Camera をアニメーション化して 3D マップ上の特定の地点の周りを旋回させる方法を示しています。これを行うには、 GoogleMap3D で flyCameraAround メソッドを FlyAroundOptions 構成とともに呼び出します。

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraAround(
    flyAroundOptions {
        center = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0
            }
            heading = 34.0
            tilt = 67.0
            range = 750.0
            roll = 0.0
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 5000
        rounds = 1.0 // Number of rotations - can be fractional
    }
)