الحصول على الوضع الجيوفضائي لكاميرا الجهاز

بعد ضبط إعدادات تطبيقك لاستخدام واجهة برمجة التطبيقات Geospatial API، يمكنك طلب ArEarth_getCameraGeospatialPose للحصول على ArGeospatialPose توضّح تحديد الموقع الجغرافي للجهاز للكاميرا في أحدث إطار. يحتوي هذا الوضع الذي تتم إدارته في كائن ArEarth على المعلومات التالية:

  • الموقع الجغرافي، معبرًا عنه بخط العرض وخط الطول
  • الارتفاع
  • اتجاه تقريبي للاتجاه الذي يواجهه المستخدم في نظام إحداثي الاتحاد الأوروبي، مع توجيه +X نحو الشرق، وتوجيه +Y لأعلى، و+ Z تشير إلى الجنوب

التحقّق من حالة التتبّع

تكون القيم الجغرافية المكانية صالحة فقط عندما تكون قيمة ArEarth.ArTrackingState هي ArTrackingState.AR_TRACKING_STATE_TRACKING وArEarth.ArEarthState هي AR_EARTH_STATE_ENABLED. تأكَّد من إدراج جميع طلبات البيانات من واجهة برمجة التطبيقات الجغرافية المكانية في مجموعة تحكُّم 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 درجة.

الخطوات التالية