Puoi aggiungere animazioni del percorso della videocamera alla mappa 3D per offrire un'esperienza più coinvolgente ai tuoi utenti. Le animazioni del percorso della videocamera possono volare verso un punto della mappa, ruotare intorno a esso o essere
combinate per animare la
Camera
fino a 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 videocamera:
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 terreno nel punto centrale della videocamera.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 videocamera.
Vai su
L'esempio di codice seguente mostra come animare la
Camera
per volare verso un punto specifico di una mappa 3D chiamando il
flyCameraTo
metodo 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
}
)
Ruota intorno a
L'esempio di codice seguente mostra come animare la
Camera
per ruotare intorno a un punto specifico di una mappa 3D chiamando il
flyCameraAround
metodo 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
}
)