Po skonfigurowaniu ustawień aplikacji pod kątem używania interfejsu Geospatial API możesz wywołać Earth.getCameraGeospatialPose()
, aby uzyskać GeospatialPose
opisujący położenie geoprzestrzenne kamery w najnowszej klatce. Ta poza, zarządzana w obiekcie Earth
, zawiera te informacje:
- Lokalizacja wyrażona w postaci szerokości i długości geograficznej
- Wysokość
- Orientacja przybliżona do kierunku, w którym skierowany jest użytkownik w układzie współrzędnych UES – X+ wskazuje wschód, Y+ jest skierowany w górę, a Z+ – południe
Sprawdzanie stanu śledzenia
Wartości geoprzestrzenne są prawidłowe tylko wtedy, gdy Earth.TrackingState
to TrackingState.TRACKING
. Pamiętaj, aby umieścić wszystkie wywołania interfejsu Geospatial API w bloku sterującym Earth.TrackingState
.
Java
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. }
Jeśli Earth.TrackingState
nie stanie się TrackingState.TRACKING
, Earth.TrackingState
może być TrackingState.PAUSED
lub TrackingState.STOPPED
. Jeśli żaden z tych warunków nie jest spełniony, sprawdź Earth.Earthstate
, aby zobaczyć inne stany błędów, które mogą uniemożliwiać śledzenie obiektu Earth
.
Dostosuj pozycję, aby uzyskać dokładność
Gdy urządzenie jest ustawione pionowo w orientacji domyślnej, kąty nachylenia (X+) i obrócenia (Z+) są zazwyczaj precyzyjne ze względu na naturalne dopasowanie do śledzenia AR. Jednak kąty odchylenia (Y+) mogą się różnić w zależności od dostępności danych VPS i warunków czasowych w danej lokalizacji. Aplikacja może wymagać dostosowania dokładności.
GeospatialPose.getOrientationYawAccuracy()
podaje oszacowanie dokładności kątów odchylenia (Y+) dla określonych elementów GeospatialPose
. Dokładność odchylenia orientacji to liczba opisująca promień (w stopniach) 68 centyla poziomu ufności wokół kątów odchylenia zwróconych z GeospatialPose.getEastUpSouthQuaternion()
. Oznacza to 68% prawdopodobieństwa, że rzeczywisty kąt odchylenia komponentu GeospatialPose
jest dokładny.
Większe wartości oznaczają mniejszą dokładność. Jeśli na przykład szacowany kąt odchylenia wynosi 60 stopni, a dokładność odchylenia wynosi 10 stopni, występuje prawdopodobieństwo na poziomie 68%, że rzeczywisty kąt odchylenia mieści się w zakresie od 50 do 70 stopni.
Co dalej?
- Umieść kotwicę geoprzestrzenną, uzyskując pozycję geoprzestrzenną kotwicy.