Geospatial API を使用するようにアプリの設定を構成したら、デバイスのカメラの AREarthManager.CameraGeospatialPose
を取得できます。このポーズは AREarthManager
オブジェクトで管理され、次の情報が含まれます。
- 緯度と経度で表した位置情報
- 標高
- EUS 座標系でユーザーが向いている方向に近い向き(X+ は東、Y+ は上、Z+ は南を指す)。
追跡ステータスを確認する
地理空間値は、AREarthManager.EarthTrackingState
が TrackingState.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.EarthTrackingState
が TrackingState.Tracking
にならない場合、AREarthManager.EarthTrackingState
は TrackingState.Limited
または TrackingState.None
のいずれかです。上記のいずれの条件にも該当しない場合は、TrackingState.EarthTrackingState
を確認します。ここには、AREarthManager
オブジェクトのトラッキングを妨げる可能性のあるその他のエラー状態が表示されます。
ポーズを調整して精度を高める
デバイスをデフォルトの向きで正面を向けた状態では、AR トラッキングと自然に調整されるため、ピッチ(X+)とロール(Z+)の角度は正確になります。ただし、ヨー(Y+)角度は、VPS データの可用性とその場所の天候条件によって異なる場合があります。アプリで精度を調整する必要がある場合があります。
GeospatialPose.OrientationYawAccuracy
は、特定の AREarthManager.CameraGeospatialPose
のヨー(Y+)角度の精度推定値を提供します。向きのヨー精度は、GeospatialPose.EunRotation
のヨー角度の周囲の 68 パーセンタイル信頼区間の半径(度)を表す数値です。つまり、AREarthManager.CameraGeospatialPose
の真のヨー角が GeospatialPose.OrientationYawAccuracy
によって返される度数以内に正確である確率は 68% です。
値が大きいほど、精度が低くなります。たとえば、推定ヨー角が 60 度で、ヨーの精度が 10 度の場合、真のヨー角が 50 ~ 70 度である確率は 68% です。
次のステップ
- アンカーの地理空間ポーズを取得して、地理空間アンカーを配置します。