Вы можете добавить анимацию траектории движения камеры на свою 3D-карту, чтобы сделать процесс просмотра более захватывающим для пользователей. Анимация траектории движения камеры может включать подлёт к точке на карте или облёт вокруг неё.
Лететь в
В следующем примере кода показано, как анимировать камеру, чтобы она подлетела к определённой точке на 3D-карте, вызвав метод flyCameraTo
. Чтобы использовать этот пример кода, следуйте инструкциям в разделах «Настройка» и «Добавление 3D-карты в приложение» , чтобы настроить проект Android Studio с простой 3D-картой. Затем добавьте следующий код в файл 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 } )
Летать вокруг
В следующем примере кода показано, как анимировать облёт камеры вокруг определённой точки на 3D-карте, вызывая метод flyCameraAround
. Чтобы использовать этот пример кода, следуйте инструкциям в разделах «Настройка» и «Добавление 3D-карты в приложение» , чтобы настроить проект Android Studio с простой 3D-картой. Затем добавьте следующий код в файл 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 } )