Você pode adicionar animações de caminho da câmera ao mapa 3D para oferecer uma experiência mais imersiva aos usuários. As animações de caminho da câmera podem voar para um ponto no mapa, voar ao redor dele ou ser
combinadas para animar a
Camera
incluindo a especificação da
altitude
e
altitudeMode.
Ao configurar um
Camera
para uma animação, você pode definir a propriedade
altitudeMode (ou chamar
setAltitudeMode)
para especificar como a altitude da câmera é interpretada:
AltitudeMode.ABSOLUTE: interpreta a altitude como metros acima do nível médio do mar (o valor padrão se não for especificado).AltitudeMode.RELATIVE_TO_GROUND: interpreta a altitude como metros acima da superfície do solo no ponto central da câmera.AltitudeMode.RELATIVE_TO_MESH: interpreta a altitude como metros acima da superfície de malha 3D mais alta (como edifícios ou árvores) no ponto central da câmera.
Voar para
O exemplo de código a seguir demonstra como animar a
Camera
para voar até um ponto específico em um mapa 3D chamando o
flyCameraTo
método em
GoogleMap3D
com uma
FlyToOptions
configuração.
// 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
}
)
Voar ao redor
O exemplo de código a seguir demonstra como animar o
Camera
para voar ao redor de um ponto específico em um mapa 3D chamando o
flyCameraAround
método em
GoogleMap3D
com uma configuração
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
}
)