Configurare i controlli della videocamera

Seleziona la piattaforma: Android iOS JavaScript

Gli utenti possono controllare lo zoom, l'inclinazione, la posizione e la rotazione della fotocamera utilizzando i gesti sulla mappa. Puoi anche configurare la videocamera in modo programmatico.

Diagramma che illustra il modello di fotocamera 3D

Posizione della videocamera

La visualizzazione mappa è modellata come una videocamera che guarda un punto specifico nello spazio. La posizione e l'orientamento della fotocamera sono definiti dalle coordinate di latitudine/longitudine/altitudine, dalla direzione, dall'inclinazione, dall'intervallo e dal rollio.

Latitudine, longitudine, altitudine

La posizione iniziale della videocamera viene definita impostando la latitudine, la longitudine e l'altitudine. Questi valori si combinano per determinare la posizione della fotocamera, non dove è puntata o centrata.

La latitudine può essere compresa tra -90 e 90 gradi inclusi. La longitudine è compresa tra -180 e 180 gradi inclusi. L'altitudine è specificata in metri sul livello del mare.

I valori superiori o inferiori a questo intervallo verranno limitati al valore più vicino all'interno di questo intervallo. Ad esempio, se specifichi una latitudine di 100, il valore verrà impostato su 90.

Intestazione

L'intestazione specifica la direzione della bussola della mappa, misurata in gradi in senso orario rispetto al nord geografico. Il nord corrisponde a 0 gradi, l'est a 90 gradi, il sud a 180 gradi e l'ovest a 270 gradi.

Inclinazione

L'inclinazione specifica l'angolo della fotocamera rispetto all'asse verticale, misurato in gradi. Un'inclinazione di 0 gradi indica che la fotocamera è puntata verso il basso, in direzione della Terra (nadir). Un'inclinazione di 90 gradi indica che la fotocamera è puntata orizzontalmente nella direzione specificata dall'intestazione.

Intervallo

L'intervallo definisce la distanza in metri tra la posizione della videocamera e il centro della mappa. L'intervallo può variare da zero metri (molto vicino) fino a 63 milioni di metri, consentendo di visualizzare da molto vicino fino a una prospettiva veramente globale. In questo modo, puoi controllare il livello di zoom della mappa.

Rotazione

Il rollio imposta l'angolo della fotocamera rispetto all'orizzonte, misurato in gradi. Questo parametro può essere utilizzato per creare effetti come l'inclinazione durante le simulazioni di volo o persino un rollio completo, ruotando la fotocamera attorno al suo asse di visualizzazione.

Controllare la videocamera

Il seguente esempio di codice mostra come controllare la videocamera in modo programmatico.

Swift


public static var sanFrancisco: Camera = .init(
  center: .init(
    latitude: 37.7845812,
    longitude: -122.3660241,
    altitude: 585),
  fieldOfView: .init(degrees: 100),
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)

Controlli UI

Oltre ai gesti standard, Maps 3D SDK for iOS fornisce anche controlli UI per manipolare la posizione della fotocamera.

  • Il controllo Zoom mostra i pulsanti "+" e "-" per modificare il livello di zoom della mappa.
  • Il controllo di spostamento mostra i pulsanti "←", "→", "↑" e "↓" per modificare il centro della mappa.
  • I controlli di rotazione mostrano "↺" e "↻" per modificare l'orientamento della videocamera.
  • Il controllo dell'inclinazione mostra "^" e "⌄" per modificare l'inclinazione della videocamera.
  • Il controllo della bussola indica la direzione del nord della bussola e consente di reimpostare la videocamera verso nord.

Il seguente esempio di codice mostra come modificare la visibilità dei controlli UI:

swift struct ContentView: View { @State private var showControls = true</p> <p>var body: some View { Map(mode: .hybrid) .mapControls(at: .trailing) { if showControls { CompassControl() ZoomControl() TiltControl() } } } } ```