Dodawanie animacji ścieżki kamery

Wybierz platformę: Android iOS JavaScript

Do mapy 3D możesz dodawać animacje ścieżki kamery, aby zapewnić użytkownikom bardziej realistyczne wrażenia. Animacje ścieżki kamery mogą obejmować przelot do punktu na mapie, przelot wokół niego lub kombinację tych działań, aby animować Camera do punktu na mapie, w tym określić jego wysokość i altitudeMode.

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

  • AltitudeMode.absolute: interpretuje wysokość jako metry nad średnim poziomem morza (wartość domyślna, jeśli nie określono inaczej).
  • AltitudeMode.relativeToGround: interpretuje wysokość jako metry nad powierzchnią ziemi w punkcie centralnym kamery.
  • AltitudeMode.relativeToMesh: interpretuje wysokość jako metry nad najwyższą powierzchnią siatki 3D (np. budynkami lub terenem) w punkcie środkowym kamery.

Przejdź do

Poniższy przykładowy kod pokazuje, jak używać modyfikatora flyCameraTo do animowania Camera, aby przelatywał 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: {}
  )

Poruszanie się

Poniższy przykładowy kod pokazuje, jak używać modyfikatora flyCameraAround do animowania Camera, aby latać 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: {}
  )