تستخدِم واجهة برمجة التطبيقات Geospatial API مجموعة من بيانات VPS وGPS لإنشاء عمليات تحويل جيوفضائية عالية الدقة. يمكن استخدام واجهة برمجة التطبيقات في أي مكان يمكن للجهاز تحديد موقعه الجغرافي فيه:
- في المناطق التي تكون فيها دقة نظام تحديد المواقع العالمي (GPS) منخفضة، مثل المساحات الداخلية والبيئات الحضرية الكثيفة، ستعتمد واجهة برمجة التطبيقات على تغطية VPS لإنشاء عمليات تحويل عالية الدقة.
- في البيئات الخارجية التي تتضمّن عددًا قليلاً من العوائق العلوية أو لا تتضمّن أيّ منها، قد تتمكّن واجهة برمجة التطبيقات Geospatial API من استخدام بيانات الموقع الجغرافي المتاحة من نظام تحديد المواقع العالمي (GPS) لإنشاء عمليات تحويل بيانات جغرافية بدقة عالية.
يمكنك تحديد مدى توفّر VPS في موضع أفقي معيّن قبل بدء جلسة الواقع المعزّز واستخدامه لإنشاء تجارب أكثر تحديدًا، على سبيل المثال، لعرض زر "بدء الواقع المعزّز" فقط عندما يكون VPS متاحًا.
تفعيل واجهة برمجة تطبيقات ARCore
يجب أن يفعّل تطبيقك واجهة برمجة التطبيقات ARCore API للتحقّق من توفّر VPS.
التحقّق من توفّر الخادم الظاهري في تطبيقك
يمكن استخدام واجهة برمجة التطبيقات Geospatial API في أي مكان يمكن للجهاز تحديد موقعه الجغرافي فيه. إذا كانت تجربة الواقع المعزّز تعتمد على تغطية VPS، يمكنك استخدام GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
للحصول على GARVPSAvailabilityFuture
، وهي مهمة غير متزامنة تتحقّق من توفّر VPS في موضع أفقي معيّن.
بعد الحصول على GARVPSAvailabilityFuture
، يمكنك الحصول على النتيجة من خلال الاستطلاع أو من خلال معاودة الاتصال.
إجراء استطلاع للنتيجة
استخدِم GARFuture.state
للحصول على حالة Future
. هناك ثلاث حالات مختلفة:
GARFutureStatePending
: لم تكتمل العملية بعد، لذا لا يمكن معرفة أي نتيجة.GARFutureStateCancelled
: تم إلغاء العملية من قِبلGARFuture#cancel
. ولن يتمّ استدعاء أيّ مكالمة تلقائية مسجّلة.GARFutureStateDone
: اكتملت العملية. استخدِمGARVPSAvailabilityFuture.result
للحصول على النتيجة.
يمكنك مواصلة التحقّق من GARFuture.state
إلى أن تكتمل المهمة.
الحصول على النتيجة من خلال مكالمة تلقائية
يمكنك أيضًا الحصول على نتيجة Future
من خلال طلب معاودة الاتصال. استخدِم GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
وأدخِل completionHandler
. سيتم استدعاء completionHandler
هذا في سلسلة المحادثات الرئيسية بعد فترة قصيرة من تحوّل Future
إلى الحالة GARFutureStateDone
.
إلغاء Future
استخدِم GARFuture#cancel
لمحاولة إلغاء Future
. بسبب توازُن سلاسل المهام، قد لا تنجح محاولة الإلغاء في الواقع.
تعرِض الدالة GARFuture#cancel
القيمة YES
إذا كانت هذه المحاولة ناجحة، وNO
في الحالات الأخرى.
استخدام واجهة برمجة التطبيقات Geospatial API بدون تغطية VPS
يمكن أيضًا استخدام واجهة برمجة التطبيقات Geospatial API في المناطق التي لا تتوفّر فيها تغطية VPS. في البيئات الخارجية التي تتضمّن عددًا قليلاً من العوائق العلوية أو لا تتضمّن أيّ منها، قد يكون نظام تحديد المواقع العالمي (GPS) كافيًا لإنشاء وضع بدقة عالية.
الخطوات التالية
- الحصول على وضع الجهاز الجغرافي المكاني من كاميرا الجهاز لتحديد الموقع الجغرافي الدقيق لجهاز المستخدم في العالم الحقيقي