添加摄像头路径动画

请选择平台: Android iOS

您可以向 3D 地图添加摄像头路径动画,为用户提供更具沉浸感的体验。摄像头路径动画可以飞向地图上的某个点或围绕该点飞行。

前往

以下代码示例演示了如何通过调用 flyCameraTo 方法,让相机以动画效果飞到 3D 地图上的特定点。如需使用此代码示例,请按照设置向应用添加 3D 地图中的说明,使用基本 3D 地图设置 Android Studio 项目。然后,将以下代码添加到 MainActivity.kt 文件中:

// Add imports and define constants
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.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
        }
        durationInMillis = 2_000
    }
)

四处飞行

以下代码示例演示了如何通过调用 flyCameraAround 方法,让相机以动画形式围绕 3D 地图上的特定点飞行。如需使用此代码示例,请按照设置向应用添加 3D 地图中的说明,使用基本 3D 地图设置 Android Studio 项目。然后,将以下代码添加到 MainActivity.kt 文件中:

// Add imports and define constants
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.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
        }
        durationInMillis = 5_000
        rounds = 1.0 // Number of rotations - can be fractional
    }
)