بعد ضبط إعدادات تطبيقك لاستخدام 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+) إلى أن تكونا دقيقتَين بسبب المواءمة الطبيعية مع التتبّع بالواقع المعزّز. ومع ذلك، يمكن أن تختلف زوايا الانحراف (Y+) حسب مدى توفّر بيانات VPS والظروف الزمنية في الموقع الجغرافي. قد يحتاج تطبيقك إلى إجراء تعديلات لتحسين الدقة.
تقدّم ArGeospatialPose_getOrientationYawAccuracy()
تقديرًا للدقة لزوايا الانحراف (Y+) ArGeospatialPose
معيّنة. دقة انحراف الاتجاه هي رقم يصف نصف القطر، بالدرجات، لمستوى الثقة في الشريحة المئوية 68 حول زوايا الانحراف التي تم إرجاعها من ArGeospatialPose_getEastUpSouthQuaternion()
. بعبارة أخرى، هناك احتمال بنسبة% 68 أن تكون زاوية الانحراف الفعلية لـ ArGeospatialPose
دقيقة.
تشير القيم الأكبر إلى انخفاض الدقة. على سبيل المثال، إذا كانت زاوية الانحراف المقدَّرة 60 درجة ودقة الانحراف 10 درجات، تكون هناك احتمالية بنسبة% 68 أن تكون زاوية الانحراف الفعلية بين 50 و70 درجة.
الخطوات التالية
- ضَع نقطة تثبيت جغرافية من خلال الحصول على وضع نقطة التثبيت الجغرافي.