Aggiungere animazioni del percorso della videocamera

Seleziona la piattaforma: Android iOS JavaScript

Puoi aggiungere animazioni del percorso della videocamera alla mappa 3D per offrire un'esperienza più coinvolgente agli utenti. Le animazioni del percorso della fotocamera possono volare verso, volare intorno o essere combinate per animare la Camera verso un punto sulla mappa, inclusa la specifica della sua altitudine e altitudeMode.

Quando configuri un Camera per un'animazione, puoi impostare la proprietà altitudeMode per specificare come viene interpretata l'altitudine della fotocamera:

  • AltitudeMode.absolute: interpreta l'altitudine come metri sopra il livello medio del mare (il valore predefinito se non specificato).
  • AltitudeMode.relativeToGround: interpreta l'altitudine come metri sopra la superficie del suolo nel punto centrale della fotocamera.
  • AltitudeMode.relativeToMesh: interpreta l'altitudine come metri sopra la superficie della mesh 3D più alta (ad esempio edifici o terreno) nel punto centrale della fotocamera.

Vai su

Il seguente esempio di codice mostra come utilizzare il modificatore flyCameraTo per animare Camera in modo che voli verso un punto specifico su una mappa 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: {}
  )

Vola intorno

Il seguente esempio di codice mostra come utilizzare il modificatore flyCameraAround per animare Camera in modo che voli intorno a un punto specifico su una mappa 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: {}
  )