Sie können Ihrer 3D-Karte Kamerapfad-Animationen hinzufügen, um die Nutzerumgebung noch ansprechender zu gestalten. Mit Kamerapfad-Animationen kann die Kamera zu einem Punkt auf der Karte fliegen, ihn umfliegen oder beides kombiniert werden. Dabei kann auch die Höhe angegeben werden.
Anfliegen
Im folgenden Codebeispiel wird gezeigt, wie Sie die Kamera so animieren, dass sie zu einem
bestimmten Punkt auf einer 3D-Karte fliegt. Dazu wird die
flyCameraTo
Methode aufgerufen.
// Add imports and define constants
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
}
durationInMillis = 2_000
}
)
Umfliegen
Im folgenden Codebeispiel wird gezeigt, wie Sie die Kamera so animieren, dass sie einen
bestimmten Punkt auf einer 3D-Karte umfliegt. Dazu wird die
flyCameraAround
Methode aufgerufen.
// Add imports and define constants
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
}
durationInMillis = 5_000
rounds = 1.0 // Number of rotations - can be fractional
}
)