Вы можете добавить анимацию траектории движения камеры на свою 3D-карту, чтобы обеспечить пользователям более захватывающий опыт. Анимация траектории движения камеры может включать в себя движение к точке на карте или облет вокруг нее.
Перелет в
Приведенный ниже пример кода демонстрирует, как анимировать перемещение камеры в определенную точку на 3D-карте с помощью вызова метода flyCameraTo .
// 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 .
// 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
}
)