Menambahkan animasi jalur kamera

Pilih platform: Android iOS JavaScript

Anda dapat menambahkan animasi jalur kamera ke peta 3D untuk memberikan pengalaman yang lebih imersif bagi pengguna. Animasi jalur kamera dapat terbang ke, terbang di sekitar, atau digabungkan untuk menganimasikan Camera ke titik di peta, termasuk menentukan ketinggian dan altitudeMode.

Saat mengonfigurasi Camera untuk animasi, Anda dapat menetapkan properti altitudeMode (atau memanggil setAltitudeMode) untuk menentukan cara penafsiran ketinggian kamera:

  • AltitudeMode.ABSOLUTE: Menafsirkan ketinggian sebagai meter di atas permukaan laut rata-rata (nilai default jika tidak ditentukan).
  • AltitudeMode.RELATIVE_TO_GROUND: Menafsirkan ketinggian sebagai meter di atas permukaan tanah di titik tengah kamera.
  • AltitudeMode.RELATIVE_TO_MESH: Menafsirkan ketinggian sebagai meter di atas permukaan mesh 3D tertinggi (seperti bangunan atau pohon) di titik tengah kamera.

Terbang ke

Contoh kode berikut menunjukkan cara menganimasikan Camera untuk terbang ke titik tertentu di peta 3D dengan memanggil metode flyCameraTo di GoogleMap3D dengan konfigurasi 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
    }
)

Terbang di sekitar

Contoh kode berikut menunjukkan cara menganimasikan Camera untuk terbang di sekitar titik tertentu di peta 3D dengan memanggil metode flyCameraAround di GoogleMap3D dengan konfigurasi 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
    }
)