Vous pouvez ajouter des animations de chemin de caméra à votre carte 3D pour offrir une expérience plus immersive à vos utilisateurs. Les animations de chemin de caméra peuvent se déplacer vers un point de la carte, le survoler ou être
combinées pour animer la
Camera
y compris en spécifiant son
altitude
et
altitudeMode.
Lorsque vous configurez un
Camera
pour une animation, vous pouvez définir la propriété
altitudeMode (ou appeler
setAltitudeMode)
pour spécifier comment l'altitude de la caméra est interprétée :
AltitudeMode.ABSOLUTE: interprète l'altitude en mètres au-dessus du niveau moyen de la mer (valeur par défaut si elle n'est pas spécifiée).AltitudeMode.RELATIVE_TO_GROUND: interprète l'altitude en mètres au-dessus de la surface du sol au point central de la caméra.AltitudeMode.RELATIVE_TO_MESH: interprète l'altitude en mètres au-dessus de la surface de maillage 3D la plus élevée (bâtiments ou arbres, par exemple) au point central de la caméra.
Aller à
L'exemple de code suivant montre comment animer la
Camera
pour qu'elle se déplace vers un point spécifique sur une carte 3D en appelant la
flyCameraTo
méthode sur
GoogleMap3D
avec une configuration
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
}
)
Survoler
L'exemple de code suivant montre comment animer la
Camera
pour qu'elle survole un point spécifique sur une carte 3D en appelant la
flyCameraAround
méthode sur
GoogleMap3D
avec une configuration
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
}
)