تستخدِم واجهة برمجة التطبيقات Geospatial API مجموعة من بيانات VPS وGPS لإنشاء عمليات تحويل جيوفضائية عالية الدقة. ويمكن استخدام واجهة برمجة التطبيقات في أي مكان يتمكّن الجهاز من تحديد موقعه الجغرافي:
- في المناطق التي تكون فيها دقة نظام تحديد المواقع العالمي (GPS) منخفضة، مثل المساحات الداخلية والبيئات الحضرية الكثيفة، ستعتمد واجهة برمجة التطبيقات على تغطية VPS لإنشاء عمليات تحويل عالية الدقة.
- في البيئات الخارجية التي تتضمّن عددًا قليلاً من العوائق العلوية أو لا تتضمّن أيّ منها، قد تتمكّن واجهة برمجة التطبيقات Geospatial API من استخدام بيانات الموقع الجغرافي المتاحة من نظام تحديد المواقع العالمي (GPS) لإنشاء عمليات تحويل بيانات جغرافية بدقة عالية.
يمكنك تحديد مدى توفّر VPS في موضع أفقي معيّن قبل بدء جلسة الواقع المعزّز واستخدامه لإنشاء تجارب أكثر تحديدًا، مثل تقديم "Enter AR". فقط عندما يكون 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
هذا في سلسلة المحادثات الرئيسية بعد وقت قصير من توفّر الحالة GARFutureStateDone
في Future
.
إلغاء Future
استخدِم GARFuture#cancel
لمحاولة إلغاء Future
. بسبب موازاة سلاسل المحادثات، قد لا تنجح محاولة الإلغاء التي أجريتها.
تعرض الدالة GARFuture#cancel
القيمة YES
إذا كانت هذه المحاولة ناجحة، وتعرض NO
في الحالات الأخرى.
استخدام واجهة برمجة التطبيقات Geospatial API بدون تغطية VPS
يمكن أيضًا استخدام واجهة برمجة التطبيقات Geospatial API في المناطق التي لا يوجد بها تغطية VPS. في البيئات الخارجية مع وجود عوائق قليلة أو عدم وجود عوائق علوية، قد يكون نظام تحديد المواقع العالمي (GPS) كافيًا لإنشاء وضعية بدقة عالية.
الخطوات التالية
- احصل على الوضع الجغرافي المكاني لكاميرا الجهاز لتحديد الموقع الجغرافي الدقيق لجهاز المستخدم في العالم الفعلي.