完成應用程式的設定使用 Geospatial API 後,您可以呼叫 Earth.getCameraGeospatialPose()
取得 GeospatialPose
,說明裝置在最新影格中相機的地理空間定位。在 Earth
物件中管理的這個姿勢包含以下資訊:
- 位置,以經緯度表示
- 海拔高度
- 方向大致上與使用者在 EUS 座標系統中面向的方向相同,其中 X+ 指向東方、Y+ 指向上方,而 Z+ 指向南方
查看追蹤狀態
Earth.TrackingState
為 TrackingState.TRACKING
時,地理空間值才有效。請務必將所有 Geospatial API 呼叫包裝在 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. }
如果 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% 的機率會出現 68%。
後續步驟
- 取得錨點的地理空間姿勢,放置地理空間錨點。