デバイスのカメラの地理空間ポーズを取得する

Geospatial API を使用するようにアプリの設定を構成すると、デバイスカメラの AREarthManager.CameraGeospatialPose を取得できます。このポーズは AREarthManager オブジェクトで管理され、次の情報を含みます。

  • 緯度と経度で表した位置
  • 標高
  • EUS 座標系におけるユーザーの向きとほぼ同じ向き。X+ は東、Y+ は上、Z+ は南向き

荷物追跡ステータスを確認する

地理空間値は、AREarthManager.EarthTrackingStateTrackingState.Tracking の場合にのみ有効です。すべての Geospatial API 呼び出しを AREarthManager.EarthTrackingState コントロール ブロックでラップしてください。

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

AREarthManager.EarthTrackingStateTrackingState.Tracking にならない場合は、AREarthManager.EarthTrackingStateTrackingState.Limited または TrackingState.None になる場合があります。上記の条件のどちらも true でない場合は、TrackingState.EarthTrackingState を確認します。これにより、AREarthManager オブジェクトをトラッキングできない可能性のある他のエラー状態が表示されます。

ポーズを調整して正確に調整する

デバイスが直立した状態でデフォルトの向きである場合、AR トラッキングと自然に連携するため、ピッチ(X+)角度とロール角度(Z+)は正確な値になる傾向があります。ただし、ヨー(Y+)角度は、VPS データの可用性と場所の時間的条件によって変わる可能性があります。精度を高めるために、アプリでの調整が必要になる場合があります。

GeospatialPose.OrientationYawAccuracy は、特定の AREarthManager.CameraGeospatialPose におけるヨー(Y+)角度の精度推定値を提供します。向きのヨー精度は、GeospatialPose.EunRotation のヨー角周辺の 68 パーセンタイル信頼レベルの半径を度単位で表した数値です。つまり、AREarthManager.CameraGeospatialPose の真のヨー角度が、 GeospatialPose.OrientationYawAccuracy

値が大きいほど精度が低いことを示します。例えば、推定ヨー角が 60 度でヨー精度が 10 度の場合、真のヨー角が 50 度と 70 度の間である確率は 68% です。

次のステップ