L'API Geospatial utilizza una combinazione di dati VPS e GPS per generare pose geospaziali ad alta precisione. L'API può essere utilizzata in qualsiasi luogo in cui il dispositivo è in grado di determinare la propria posizione:
- Nelle aree con scarsa precisione del GPS, come spazi interni ed ambienti urbani densi, l'API si baserà sulla copertura VPS per generare pose ad alta precisione.
- In ambienti esterni con poche ostruzioni aeree, l'API Geospatial potrebbe essere in grado di utilizzare i dati di posizione GPS disponibili per generare pose geospaziali con elevata precisione.
Puoi determinare la disponibilità del VPS in una determinata posizione orizzontale prima dell'inizio della sessione AR e utilizzarla per creare esperienze più specifiche, ad esempio per mostrare un pulsante "Accedi all'AR" solo quando il VPS è disponibile.
Attiva l'API ARCore
L'app deve attivare l'API ARCore per controllare la disponibilità del VPS.
Verificare la disponibilità del VPS nell'app
L'API Geospatial può essere utilizzata in qualsiasi luogo in cui il dispositivo è in grado di determinare la propria posizione. Se la tua esperienza AR dipende dalla copertura dei VPS, puoi utilizzare AREarthManager.CheckVpsAvailabilityAsync()
per ottenere un VpsAvailabilityPromise
, un'attività asincrona che controlla la disponibilità dei VPS in una determinata posizione orizzontale.
Una volta ottenuto l'attributo VpsAvailabilityPromise
, puoi ottenere il relativo risultato tramite polling.
Effettua il sondaggio sul risultato
Utilizza VpsAvailabilityPromise.State
per ottenere lo stato di InterruptiblePromise
. Esistono tre stati diversi:
Pending
: l'operazione non è ancora completata, pertanto non è noto alcun risultato.Cancelled
: l'operazione è stata annullata daVpsAvailabilityPromise.Cancel()
. Eventuali chiamate di ritorno registrate non verranno mai effettuate.Done
: l'operazione è stata completata. UtilizzaVpsAvailabilityPromise.Result
per ottenere il risultato.
Puoi continuare a selezionare VpsAvailabilityPromise.State
finché l'attività non è completata.
Annullare l'InterruptiblePromise
Usa VpsAvailabilityPromise.Cancel()
per tentare di annullare l'InterruptiblePromise
. A causa del parallelismo dei thread, è possibile che il tentativo di annullamento non vada a buon fine.
Utilizzare l'API Geospatial senza copertura VPS
L'API Geospatial può essere utilizzata anche nelle aree che non hanno copertura VPS. In ambienti esterni con poche o nessuna ostruzione sopraelevata, il GPS potrebbe essere sufficiente per generare una posa con elevata precisione.
Passaggi successivi
- Ottenere la posizione geografica della fotocamera del dispositivo per determinare la posizione esatta del dispositivo dell'utente nel mondo reale.