Geospatial API를 사용하도록 앱 설정을 구성한 후에는 Earth.getCameraGeospatialPose()
를 호출하여 최신 프레임에서 카메라의 지리정보 위치를 설명하는 GeospatialPose
를 가져올 수 있습니다. Earth
객체에서 관리되는 이 포즈에는 다음 정보가 포함됩니다.
- 위도와 경도로 표시되는 위치
- 고도
- X+가 동쪽을 가리키고 Y+가 위쪽을 가리키며 Z+가 남쪽을 가리킴으로 사용자가 EUS 좌표계에서 향하는 방향과 가까운 방향
추적 상태 확인
지리적 값은 Earth.TrackingState
이 TrackingState.TRACKING
인 경우에만 유효합니다. 모든 Geospatial API 호출을 Earth.TrackingState
제어 블록에 래핑해야 합니다.
자바
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Kotlin
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Earth.TrackingState
가 TrackingState.TRACKING
이 아닌 경우 Earth.TrackingState
는 TrackingState.PAUSED
또는 TrackingState.STOPPED
일 수 있습니다. 두 조건이 모두 충족되지 않으면 Earth.Earthstate
를 확인합니다. 이 상태는 Earth
객체가 추적하지 못하게 할 수 있는 다른 오류 상태를 표시합니다.
정확성을 위해 자세 조정
기기가 기본 방향에서 똑바로 세운 경우 AR 추적과의 자연스러운 정렬로 인해 피치 (X+) 및 롤 (Z+) 각도가 정확할 수 있습니다. 그러나 요 (Y+) 각도는 VPS 데이터 가용성과 위치의 시간 조건에 따라 달라질 수 있습니다. 앱에서 정확성을 위해 조정해야 할 수 있습니다.
GeospatialPose.getOrientationYawAccuracy()
는 특정 GeospatialPose
의 요 (Y+) 각도에 관한 예상 정확도를 제공합니다. 방향 요 정확도는 GeospatialPose.getEastUpSouthQuaternion()
에서 반환된 요 각도 주변의 68번째 백분위 신뢰 수준의 반경(도)을 나타내는 숫자입니다. 즉, GeospatialPose
의 실제 요각이 정확할 확률은 68% 입니다.
값이 클수록 정확도가 낮습니다. 예를 들어 예상 요 각도가 60도이고 요 정확도가 10도인 경우 실제 요 각도가 50도에서 70도 사이일 확률은 68%입니다.
다음 단계
- 앵커의 지리정보 포즈를 가져와 지리정보 앵커를 배치합니다.