Kamerapfad-Animationen hinzufügen

Plattform auswählen: Android iOS JavaScript

Sie können Ihrer 3D-Karte Kamerapfad-Animationen hinzufügen, um die Nutzerumgebung ansprechender zu gestalten. Mit Kamerapfad-Animationen kann die Camera zu einem Punkt auf der Karte fliegen, diesen umfliegen oder be ides kombiniert werden, um die Camera zu animieren. Dabei können Sie auch die Höhe und den altitudeModeangeben.

Wenn Sie eine Camera für eine Animation konfigurieren, können Sie die altitudeMode Property festlegen oder setAltitudeMode) aufrufen, um anzugeben, wie die Höhe der Kamera interpretiert werden soll:

  • AltitudeMode.ABSOLUTE: Die Höhe wird als Meter über dem mittleren Meeresspiegel interpretiert. Dies ist der Standardwert, wenn nichts angegeben ist.
  • AltitudeMode.RELATIVE_TO_GROUND: Die Höhe wird als Meter über der Erdoberfläche am Mittelpunkt der Kamera interpretiert.
  • AltitudeMode.RELATIVE_TO_MESH: Die Höhe wird als Meter über der höchsten 3D-Mesh-Oberfläche (z. B. Gebäude oder Bäume) am Mittelpunkt der Kamera interpretiert.

Anfliegen

Das folgende Codebeispiel zeigt, wie Sie die Camera so animieren, dass sie zu einem bestimmten Punkt auf einer 3D-Karte fliegt. Dazu wird die Methode flyCameraTo für GoogleMap3D mit einer FlyToOptions -Konfiguration aufgerufen.

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

Umfliegen

Das folgende Codebeispiel zeigt, wie Sie die Camera so animieren, dass sie einen bestimmten Punkt auf einer 3D-Karte umfliegt. Dazu wird die Methode flyCameraAround für GoogleMap3D mit einer FlyAroundOptions -Konfiguration aufgerufen.

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