После того как вы настроили параметры своего приложения для использования 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
.
Отрегулируйте позу для точности
Когда устройство находится в вертикальном положении в ориентации по умолчанию, углы наклона (X+) и крена (Z+) имеют тенденцию быть точными благодаря естественному выравниванию с отслеживанием AR. Однако углы отклонения (Y+) могут варьироваться в зависимости от доступности данных VPS и временных условий в месте расположения. Возможно, вашему приложению придется внести коррективы для обеспечения точности.
GeospatialPose.OrientationYawAccuracy
предоставляет оценку точности углов отклонения (Y+) для определенного AREarthManager.CameraGeospatialPose
. Точность отклонения от курса ориентации — это число, которое описывает радиус (в градусах) уровня достоверности 68-го процентиля вокруг углов отклонения от курса в GeospatialPose.EunRotation
. Другими словами, существует 68% вероятность того, что истинный угол отклонения AREarthManager.CameraGeospatialPose
будет точным в пределах количества градусов, возвращаемого GeospatialPose.OrientationYawAccuracy
.
Большие значения указывают на меньшую точность. Например, если расчетный угол отклонения от курса составляет 60 градусов, а точность отклонения от курса составляет 10 градусов, то существует 68% вероятность того, что истинный угол отклонения от курса составляет от 50 до 70 градусов.
Что дальше
- Разместите геопространственную якорь , получив геопространственную позу якоря.