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

بعد ضبط إعدادات تطبيقك لاستخدام Geospatial API، يمكنك استدعاء Earth.getCameraGeospatialPose() للحصول على GeospatialPose يصف تحديد الموقع الجغرافي للجهاز للكاميرا في أحدث إطار. يحتوي هذا الوضع، الذي تتم إدارته في كائن Earth، على المعلومات التالية:

  • الموقع الجغرافي، معبرًا عنه بخط العرض وخط الطول
  • الارتفاع
  • اتجاه تقريبي الاتجاه الذي يواجهه المستخدم في نظام الإحداثيات الأوروبي مع اتجاه 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+) إلى أن تكونا دقيقتَين بسبب المواءمة الطبيعية مع ميزة "تتبُّع الواقع المعزّز". ومع ذلك، يمكن أن تختلف زوايا الانحراف (Y+ ) بناءً على مدى توفُّر بيانات VPS والظروف الزمنية في الموقع الجغرافي. قد يحتاج تطبيقك إلى إجراء تعديلات للتأكّد من دقته.

توفّر السمة GeospatialPose.getOrientationYawAccuracy() تقديرًا بدقة لزوايا الانحراف (+ص) بالنسبة إلى GeospatialPose معيّنة. دقة الانحراف الاتجاهي هي رقم يصف نصف القطر بالدرجات لمستوى الثقة لدى الشريحة المئوية 68 حول زوايا الانحراف الناتجة من GeospatialPose.getEastUpSouthQuaternion(). بعبارة أخرى، هناك احتمال بنسبة 68% أن تكون زاوية الانحراف الحقيقية في GeospatialPose دقيقة.

تشير القيم الأكبر إلى انخفاض الدقة. على سبيل المثال، إذا كانت زاوية الانحراف المقدرة هي 60 درجة ودقة الانحراف 10 درجات، فإن هناك احتمالاً بنسبة 68% أن تكون زاوية الانحراف الحقيقية بين 50 و70 درجة.

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