Ottenere la posizione geospaziale della fotocamera del dispositivo

Dopo aver configurato le impostazioni dell'app per l'utilizzo dell'API Geospatial, puoi recuperare l'elemento AREarthManager.CameraGeospatialPose della fotocamera del dispositivo. Questa posa, gestita in un oggetto AREarthManager, contiene le seguenti informazioni:

  • Posizione, espressa in latitudine e longitudine
  • Altitudine
  • Un orientamento che si avvicina alla direzione in cui l'utente è rivolto nel sistema di coordinate EUS con X+ rivolto a est, Y+ rivolto verso l'alto e Z+ rivolto a sud

Controllare lo stato di monitoraggio

I valori geospaziali sono validi solo mentre AREarthManager.EarthTrackingState è TrackingState.Tracking. Assicurati di aggregare tutte le chiamate API Geospaziali in un blocco di controllo AREarthManager.EarthTrackingState.

var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
  // camera_geospatial_pose contains geodetic location, rotation, and
  // confidences values.
  var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}

Se AREarthManager.EarthTrackingState non diventa TrackingState.Tracking, AREarthManager.EarthTrackingState potrebbe essere TrackingState.Limited o TrackingState.None. Se nessuna di queste condizioni è vera, controlla TrackingState.EarthTrackingState, che mostra altri stati di errore che potrebbero impedire il monitoraggio dell'oggetto AREarthManager.

Regola la posa per una maggiore precisione

Quando il dispositivo è in posizione verticale con l'orientamento predefinito, gli angoli di inclinazione (X+) e rollio (Z+) tendono a essere precisi grazie a un allineamento naturale con il tracciamento AR. Tuttavia, gli angoli di scarto (Y+) possono variare a seconda della disponibilità dei dati VPS e delle condizioni temporali della località. L'app potrebbe dover apportare modifiche per garantire l'accuratezza.

GeospatialPose.OrientationYawAccuracy fornisce una stima accurata degli angoli di scarto (Y+) per un determinato AREarthManager.CameraGeospatialPose. La precisione di orientamento di scarto è un numero che descrive il raggio, in gradi, del livello di confidenza al 68° percentile intorno agli angoli di scarto in GeospatialPose.EunRotation. In altre parole, esiste una probabilità del 68% che l'angolo di scarto reale di AREarthManager.CameraGeospatialPose sia accurato entro il numero di gradi restituiti da GeospatialPose.OrientationYawAccuracy.

Valori più alti indicano una precisione minore. Ad esempio, se l'angolo di scarto stimato è di 60 gradi e la precisione di scarto è di 10 gradi, esiste una probabilità del 68% che l'angolo di scarto reale sia compreso tra 50 e 70 gradi.

Passaggi successivi