Aggiungere animazioni del percorso della videocamera

Seleziona la piattaforma: Android iOS JavaScript

Puoi aggiungere animazioni del percorso della videocamera alla mappa 3D per offrire un'esperienza più coinvolgente agli utenti. Le animazioni del percorso della fotocamera possono volare verso, volare intorno o essere combinate per animare la Camera verso un punto sulla mappa, inclusa la specifica della sua altitudine e altitudeMode.

Quando configuri un Camera per un'animazione, puoi impostare la proprietà altitudeMode (o chiamare setAltitudeMode) per specificare come viene interpretata l'altitudine della fotocamera:

  • AltitudeMode.ABSOLUTE: interpreta l'altitudine come metri sopra il livello medio del mare (il valore predefinito se non specificato).
  • AltitudeMode.RELATIVE_TO_GROUND: interpreta l'altitudine come metri sopra la superficie del suolo nel punto centrale della fotocamera.
  • AltitudeMode.RELATIVE_TO_MESH: interpreta l'altitudine come metri sopra la superficie della mesh 3D più alta (ad esempio edifici o alberi) nel punto centrale della fotocamera.

Vai su

L'esempio di codice seguente mostra come animare Camera per volare verso un punto specifico su una mappa 3D chiamando il metodo flyCameraTo su GoogleMap3D con una configurazione 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
    }
)

Vola intorno

Il seguente esempio di codice mostra come animare Camera per sorvolare un punto specifico su una mappa 3D chiamando il metodo flyCameraAround su GoogleMap3D con una configurazione 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
    }
)