รับท่า Geospatial ของกล้องของอุปกรณ์

เมื่อกำหนดการตั้งค่าของแอปให้ใช้ 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 ติดตามไม่ได้

ปรับท่าทางเพื่อความแม่นยำ

เมื่ออุปกรณ์ตั้งตรงในแนวตั้งค่าเริ่มต้น มุมการเอียง (X+) และการพลิก (Z+) มีแนวโน้มที่จะแม่นยำเนื่องจากการวางแนวตามปกติกับการติดตาม AR อย่างไรก็ตาม มุมการเอียง (Y+) อาจแตกต่างกันไปโดยขึ้นอยู่กับความพร้อมใช้งานของข้อมูล VPS และเงื่อนไขชั่วคราวของตำแหน่งนั้นๆ แอปอาจต้องปรับเพื่อความแม่นยำ

GeospatialPose.getOrientationYawAccuracy() ระบุค่าประมาณความแม่นยำสำหรับมุมเอียง (Y+) ของมุมเอียงหนึ่งๆ GeospatialPose ความแม่นยำในการเอียงของการวางแนวคือตัวเลขที่อธิบายรัศมีเป็นองศาของระดับความเชื่อมั่นของเปอร์เซ็นไทล์ที่ 68 รอบๆ มุมเอียงที่แสดงผลจาก GeospatialPose.getEastUpSouthQuaternion() กล่าวคือ มีโอกาส 68% ที่มุมเอียงที่แท้จริงของ GeospatialPose จะแม่นยำ

ค่ายิ่งมากหมายถึงความแม่นยำต่ำ ตัวอย่างเช่น หากมุมการเอียงโดยประมาณคือ 60 องศาและความแม่นยำในการเอียงอยู่ที่ 10 องศา แสดงว่ามุมเอียงที่แท้จริงจะอยู่ระหว่าง 50 ถึง 70 องศาก็น่าจะมีความเป็นไปได้ 68%

ขั้นตอนถัดไป