Ajouter des animations de parcours de la caméra

Sélectionnez une plate-forme : Android iOS JavaScript

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
    }
)