L'API Geospatial utilise une combinaison de données VPS et GPS pour générer des poses géospatiales de haute précision. L'API peut être utilisée partout où l'appareil peut déterminer sa position:
- Dans les zones où la précision du GPS est faible, comme les espaces intérieurs et les environnements urbains denses, l'API s'appuie sur la couverture du VPS pour générer des poses de haute précision.
- Dans les environnements extérieurs où il y a peu ou pas d'obstacles au-dessus de l'utilisateur, l'API Geospatial peut être en mesure d'utiliser les données de localisation GPS disponibles pour générer des poses géospatiales avec une grande précision.
Vous pouvez déterminer la disponibilité des VPS à une position horizontale donnée avant le début de la session de RA et l'utiliser pour créer des expériences plus spécifiques (par exemple, pour présenter un bouton "Saisir la RA" uniquement lorsque les VPS sont disponibles).
Activer l'API ARCore
Votre application doit activer l'API ARCore pour vérifier la disponibilité du service VPS.
Vérifier la disponibilité du VPS dans votre application
L'API Geospatial peut être utilisée partout où l'appareil peut déterminer sa position. Si votre expérience RA repose sur la couverture VPS, vous pouvez utiliser AREarthManager.CheckVpsAvailabilityAsync()
pour obtenir un VpsAvailabilityPromise
, une tâche asynchrone qui vérifie la disponibilité du VPS à une position horizontale donnée.
Une fois que vous disposez de VpsAvailabilityPromise
, vous pouvez obtenir son résultat par interrogation.
Interroger le résultat
Utilisez VpsAvailabilityPromise.State
pour obtenir l'état de l'InterruptiblePromise
. Il existe trois états différents:
Pending
: l'opération n'est pas encore terminée. Aucun résultat n'est donc connu.Cancelled
: l'opération a été annulée parVpsAvailabilityPromise.Cancel()
. Aucun rappel enregistré ne sera jamais appelé.Done
: l'opération est terminée. UtilisezVpsAvailabilityPromise.Result
pour obtenir le résultat.
Vous pouvez continuer à vérifier VpsAvailabilityPromise.State
jusqu'à ce que la tâche soit terminée.
Annuler la InterruptiblePromise
Utilisez VpsAvailabilityPromise.Cancel()
pour tenter d'annuler InterruptiblePromise
. En raison du parallélisme de threads, il est possible que votre tentative d'annulation ne soit pas couronnée de succès.
Utiliser l'API Geospatial sans couverture VPS
L'API Geospatial peut également être utilisée dans les zones non couvertes par le VPS. Dans les environnements extérieurs avec peu ou pas d'obstacles au-dessus, le GPS peut suffire à générer une pose avec une grande précision.
Étape suivante
- Obtenir la position géospatiale de la caméra de l'appareil pour déterminer la position exacte de l'appareil de l'utilisateur dans le monde réel