เมื่อคุณกำหนดการตั้งค่าแอปให้ใช้ 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 องศา ก็มีแนวโน้ม 68% ที่มุมเอียงจริงจะอยู่ระหว่าง 50 ถึง 70 องศา
ขั้นตอนถัดไป
- วางแท็ก Geospatial Anchor โดยการรับท่าทาง Geospatial ของสมอ