Dodawanie animacji ścieżki kamery

Wybierz platformę: Android iOS

Do mapy 3D możesz dodawać animacje ścieżek kamery, aby zapewnić użytkownikom bardziej wciągające wrażenia. Animacje ścieżki kamery mogą przelatywać do punktu na mapie lub wokół niego.

Przejdź do

Poniższy przykładowy kod pokazuje, jak animować kamerę, aby przeleciała do określonego punktu na mapie 3D, wywołując metodę flyCameraTo. Aby użyć tego przykładowego kodu, postępuj zgodnie z instrukcjami w sekcjach KonfiguracjaDodawanie mapy 3D do aplikacji, aby skonfigurować projekt Android Studio z podstawową mapą 3D. Następnie dodaj ten kod do pliku MainActivity.kt:

// Add imports and define constants
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.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
    }
)

Przelatywanie

Poniższy przykładowy kod pokazuje, jak animować kamerę, aby przelatywała wokół określonego punktu na mapie 3D, wywołując metodę flyCameraAround. Aby użyć tego przykładowego kodu, postępuj zgodnie z instrukcjami w sekcjach KonfiguracjaDodawanie mapy 3D do aplikacji, aby skonfigurować projekt Android Studio z podstawową mapą 3D. Następnie dodaj ten kod do pliku MainActivity.kt:

// Add imports and define constants
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.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
    }
)