เมื่อกําหนดการตั้งค่าแอปให้ใช้ Geospatial API แล้ว คุณสามารถเรียกใช้ ArEarth_getCameraGeospatialPose
เพื่อรับ ArGeospatialPose
ที่อธิบายตําแหน่งเชิงพื้นที่ของอุปกรณ์สําหรับกล้องในเฟรมล่าสุด ท่าทางนี้ซึ่งจัดการอยู่ในออบเจ็กต์ ArEarth
มีข้อมูลต่อไปนี้
- ตำแหน่งที่แสดงเป็นละติจูดและลองจิจูด
- ระดับความสูง
- การวางแนวโดยประมาณตามทิศทางที่ผู้ใช้หันหน้าไปทางในระบบพิกัด EUS โดยที่ X+ ชี้ไปทางตะวันออก, Y+ ชี้ขึ้น และ Z+ ชี้ไปทางใต้
ตรวจสอบสถานะการติดตาม
ค่าเชิงพื้นที่จะใช้งานได้เฉพาะเมื่อ ArEarth.ArTrackingState
เป็น ArTrackingState.AR_TRACKING_STATE_TRACKING
และ ArEarth.ArEarthState
เป็น AR_EARTH_STATE_ENABLED
อย่าลืมรวมการเรียกใช้ Geospatial API ทั้งหมดไว้ในบล็อกควบคุม ArEarth.ArTrackingState
if (ar_earth != NULL) { ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED; ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth, &earth_tracking_state); if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) { ArGeospatialPose* camera_geospatial_pose = NULL; ArGeospatialPose_create(ar_session, &camera_geospatial_pose); ArEarth_getCameraGeospatialPose(ar_session, ar_earth, camera_geospatial_pose); // camera_geospatial_pose contains geodetic location, rotation, and // confidences values. ArGeospatialPose_destroy(camera_geospatial_pose); } }
หาก ArEarth.ArTrackingState
ไม่ได้เปลี่ยนเป็น ArTrackingState.AR_TRACKING_STATE_TRACKING
แสดงว่า ArEarth.ArTrackingState
อาจเปลี่ยนเป็น AR_TRACKING_STATE_PAUSED
หรือ AR_TRACKING_STATE_STOPPED
หากเงื่อนไขเหล่านี้ไม่ตรงกัน ให้ตรวจสอบ ArEarth.ArEarthState
ซึ่งแสดงสถานะข้อผิดพลาดอื่นๆ ที่อาจทำให้ออบเจ็กต์ ArEarth
ไม่สามารถติดตามได้
ปรับท่าทางเพื่อความแม่นยำ
เมื่ออุปกรณ์ตั้งตรงในแนวตั้งค่าเริ่มต้น มุมการเอียง (X+) และการพลิก (Z+) มีแนวโน้มที่จะแม่นยำเนื่องจากการวางแนวตามปกติกับการติดตาม AR อย่างไรก็ตาม มุมหมุน (Y+) อาจแตกต่างกันไปตามความพร้อมใช้งานของข้อมูล VPS และสภาพอากาศ ณ สถานที่นั้นๆ แอปของคุณอาจต้องทำการปรับเปลี่ยนเพื่อความถูกต้อง
ArGeospatialPose_getOrientationYawAccuracy()
ให้ค่าความแม่นยำโดยประมาณสำหรับมุมหมุนตามแนวราบ (Y+) สำหรับ ArGeospatialPose
บางรายการ ความแม่นยำของการเอียงตามทิศทางคือตัวเลขที่อธิบายรัศมี (หน่วยเป็นองศา) ของระดับความเชื่อมั่น 68 เปอร์เซ็นต์รอบมุมการเอียงที่แสดงผลจาก ArGeospatialPose_getEastUpSouthQuaternion()
กล่าวคือ มีโอกาส 68% ที่มุมหมุนตามแนวราบจริงของ ArGeospatialPose
จะถูกต้อง
ค่าที่ยิ่งมากแสดงถึงความแม่นยำที่น้อยลง เช่น หากมุมเอียงโดยประมาณคือ 60 องศาและความแม่นยำในการเอียงคือ 10 องศา โอกาสที่มุมเอียงจริงจะอยู่ระหว่าง 50 ถึง 70 องศาคือ 68%
ขั้นตอนถัดไป
- วางหมุดภูมิสารสนเทศเชิงพื้นที่โดยรับการวางแนวภูมิสารสนเทศเชิงพื้นที่ของหมุด