L'API Geospatial utilizza una combinazione di dati VPS e GPS per generare pose geospaziali ad alta precisione. L'API può essere utilizzata ovunque il dispositivo sia in grado di determinarne la posizione:
- Nelle aree con una scarsa precisione GPS, come gli spazi interni e gli ambienti urbani ad alta densità, 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à dei VPS in una determinata posizione orizzontale prima dell'inizio della sessione AR e utilizzarla per creare esperienze più specifiche, ad esempio per presentare un "Entra in AR" solo quando VPS è disponibile.
Abilita l'API ARCore
La tua app deve abilitare l'API ARCore per verificare la disponibilità dei server VPS.
Verificare la disponibilità dei VPS nell'app
L'API Geospatial può essere utilizzata ovunque il dispositivo sia in grado di determinarne la posizione. Se la tua esperienza AR dipende dalla copertura dei servizi VPS, puoi utilizzare AREarthManager.CheckVpsAvailabilityAsync()
per ottenere un'VpsAvailabilityPromise
, un'attività asincrona che verifica la disponibilità dei servizi VPS in una determinata posizione orizzontale.
Una volta che hai la VpsAvailabilityPromise
, puoi ottenere il suo risultato tramite un sondaggio.
Sondaggio: il risultato
Utilizza VpsAvailabilityPromise.State
per ottenere lo stato di InterruptiblePromise
. Esistono tre stati diversi:
Pending
: l'operazione non è stata ancora completata, quindi non è noto alcun risultato.Cancelled
: l'operazione è stata annullata daVpsAvailabilityPromise.Cancel()
. Qualsiasi callback registrato non verrà mai chiamato.Done
: l'operazione è stata completata. UtilizzaVpsAvailabilityPromise.Result
per ottenere il risultato.
Puoi continuare a controllare VpsAvailabilityPromise.State
fino al completamento dell'attività.
Annulla InterruptiblePromise
Utilizza VpsAvailabilityPromise.Cancel()
per tentare di annullare InterruptiblePromise
. A causa del parallelismo dei thread, potrebbe essere possibile che il tentativo di annullamento non vada a buon fine.
Usa l'API Geospatial senza copertura VPS
L'API Geospatial può essere utilizzata anche in aree che non hanno una copertura VPS. In ambienti esterni con poche ostruzioni dall'alto o nessuna, il GPS può essere sufficiente per generare una posa con un'elevata precisione.
Passaggi successivi
- Ottieni la posa geospaziale della fotocamera del dispositivo per determinare la posizione esatta del dispositivo dell'utente nel mondo reale.