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