Une fois que vous avez configuré les paramètres de votre application pour utiliser l'API Geospatial, vous pouvez obtenir l'AREarthManager.CameraGeospatialPose
de l'appareil photo de l'appareil. Cette pose, gérée dans un objet AREarthManager
, contient les informations suivantes:
- Position, exprimée en latitude et longitude
- Altitude
- Orientation approximative de la direction vers laquelle l'utilisateur fait face dans le système de coordonnées EUS, avec X+ pointant vers l'est, Y+ pointant vers le haut et Z+ pointant vers le sud
Vérifier l'état du suivi
Les valeurs géospatiales ne sont valides que lorsque AREarthManager.EarthTrackingState
est défini sur TrackingState.Tracking
. Veillez à encapsuler tous les appels d'API Geospatial dans un bloc de contrôle AREarthManager.EarthTrackingState
.
var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
// camera_geospatial_pose contains geodetic location, rotation, and
// confidences values.
var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}
Si AREarthManager.EarthTrackingState
ne devient pas TrackingState.Tracking
, AREarthManager.EarthTrackingState
peut être TrackingState.Limited
ou TrackingState.None
. Si aucune de ces conditions n'est remplie, vérifiez TrackingState.EarthTrackingState
, qui affiche d'autres états d'erreur pouvant empêcher le suivi de l'objet AREarthManager
.
Ajuster la pose pour plus de précision
Lorsque l'appareil est à l'horizontale dans l'orientation par défaut, les angles d'inclinaison (X+) et de roulis (Z+) ont tendance à être précis en raison d'un alignement naturel avec le suivi AR. Toutefois, les angles de lacet (Y+) peuvent varier en fonction de la disponibilité des données VPS et des conditions temporelles au niveau de l'emplacement. Votre application devra peut-être effectuer des ajustements pour plus de précision.
GeospatialPose.OrientationYawAccuracy
fournit une estimation de la précision pour les angles de lacet (Y+) pour un certain AREarthManager.CameraGeospatialPose
. La précision de l'orientation de la rotation est un nombre qui décrit le rayon, en degrés, du niveau de confiance du 68e percentile autour des angles de rotation dans GeospatialPose.EunRotation
. En d'autres termes, il y a 68% de chances que l'angle de lacet réel de AREarthManager.CameraGeospatialPose
soit précis dans le nombre de degrés renvoyés par GeospatialPose.OrientationYawAccuracy
.
Plus la valeur est élevée, moins la précision est bonne. Par exemple, si l'angle de lacet estimé est de 60 degrés et que la précision du lacet est de 10 degrés, il y a 68% de chances que l'angle de lacet réel soit compris entre 50 et 70 degrés.
Étape suivante
- Placez un ancrage géospatial en obtenant la position géospatiale de l'ancrage.