Dodawanie animacji ścieżki kamery

Wybierz platformę: Android iOS JavaScript

Możesz dodać animacje ścieżki kamery do mapy 3D, aby zapewnić użytkownikom bardziej wciągające wrażenia. Animacje ścieżki kamery mogą przelatywać do określonego punktu na mapie, przelatywać wokół niego lub być łączone, aby animować Camera do punktu na mapie, w tym określać jej wysokość i altitudeMode.

Podczas konfigurowania Camera do animacji możesz ustawić właściwość altitudeMode , aby określić, jak interpretowana jest wysokość kamery:

  • AltitudeMode.absolute: interpretuje wysokość jako metry nad średnim poziomem morza (wartość domyślna, jeśli nie jest określona).
  • AltitudeMode.relativeToGround: interpretuje wysokość jako metry nad powierzchnią gruntu w środkowym punkcie kamery.
  • AltitudeMode.relativeToMesh: interpretuje wysokość jako metry nad najwyższą powierzchnią siatki 3D (np. budynków lub terenu) w środkowym punkcie kamery.

Przejdź do

Poniższy przykładowy kod pokazuje, jak użyć flyCameraTo aby animować Camera do określonego punktu na mapie 3D.

Map(mode: .hybrid)
  .flyCameraTo(
    .init(
      center: .init(
        latitude: 47.6210296,
        longitude: -122.3496903,
        altitude: 585
      ),
      heading: 149.0,
      tilt: 77.0,
      roll: 0.0,
      range: 4000,
      altitudeMode: .relativeToGround
    ),
    duration: 5,
    trigger: animate,
    completion: {}
  )

Przelot wokół

Poniższy przykładowy kod pokazuje, jak użyć flyCameraAround modyfikatora, aby animować Camera do przelotu wokół określonego punktu na mapie 3D.

Map(mode: .hybrid)
  .flyCameraAround(
    .init(
      center: .init(
        latitude: 47.6210296,
        longitude: -122.3496903,
        altitude: 585
      ),
      heading: 149.0,
      tilt: 77.0,
      roll: 0.0,
      range: 3000,
      altitudeMode: .relativeToGround
    ),
    duration: 90,
    repeatCount: 3,
    trigger: flyAround,
    completion: {}
  )