اضبط إعدادات تطبيقك بحيث يمكنه استخدام Geospatial API.
المتطلبات الأساسية
احرص على فهم مفاهيم الواقع المعزّز الأساسية. وكيفية ضبط جلسة ARCore قبل المتابعة.
إذا كنت ترغب في تشغيل نموذج تطبيق يوضح الوظائف الموضحة هنا، راجع البدء السريع لخدمة ARCore Geospatial لنظام التشغيل iOS
يمكنك الاطّلاع على مقدّمة إلى Geospatial API لمزيد من المعلومات للحصول على معلومات حول واجهة برمجة التطبيقات Geospatial API.
إذا كنت مبتدئًا في مجال التطوير باستخدام ARCore، راجِع مقالة البدء. للحصول على معلومات حول متطلبات البرامج والأجهزة، والمتطلبات الأساسية ومعلومات أخرى خاصة بالأنظمة الأساسية التي تستخدمها.
تفعيل ARCore API
قبل استخدام نظام تحديد المواقع المرئي (VPS) في تطبيقك، يجب أولاً: تفعيل ARCore API في مشروع جديد أو حالي على Google Cloud هذه الخدمة مسؤولة عن واستضافة علامات الارتساء الجيوفضائية وتخزينها وحلها.
يُفضَّل الحصول على الإذن بدون مفتاح، ولكن يتم أيضًا دعم تفويض مفتاح واجهة برمجة التطبيقات.
أضِف المكتبات المطلوبة إلى تطبيقك.
بعد السماح لتطبيقك بطلب واجهة برمجة تطبيقات ARCore، يجب إضافة مكتبات إلى لتمكين الميزات الجغرافية المكانية في تطبيقك.
يجب تحديثPodfile
لتطبيقك ليتضمن حزمة تطوير البرامج (SDK) ARCore ونظام التشغيل iOS المتوافق
للإصدارات. ولإجراء ذلك:
إضافة
platform
وpod
التاليَين إلىPodfile
للمشروع:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.45.0'
يمكنك أيضًا تحديد
platform :ios, '10.0'
إذا كنت تريد دعم نظام التشغيل iOS 10، ولكن لاحظ أن واجهة برمجة التطبيقات Geospatial API لن تعمل إلا في وقت التشغيل على iOS >= 11.افتح نافذة المحطة الطرفية وشغِّل
pod install
من المجلد الذي وجود مشروع Xcode لك.يؤدي هذا إلى إنشاء ملف
.xcworkspace
تستخدمه لإنشاء تشغيل التطبيق.
تأكّد من أن بيئة التطوير التي تستخدمها تستوفي متطلبات ARCore SDK، كما هو موضح في Quickstart.
تفعيل القدرات الجغرافية المكانية في إعداد الجلسة
التحقّق من توافق الجهاز
لا تتوافق أيضًا بعض الأجهزة التي تدعم ARCore مع واجهة برمجة التطبيقات Geospatial API، الموضحة في البدء السريع.
استخدام
GARSession.isGeospatialModeSupported:
للتحقّق من الجهاز، على النحو التالي:
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
طلب أذونات تحديد الموقع الجغرافي من المستخدم في وقت التشغيل
يجب أن يطلب تطبيقك أذونات تحديد الموقع الجغرافي التالية في وقت التشغيل قبل أن ضبط الجلسة:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(ينطبق ذلك عندما يكون نظام التشغيل iOS أكبر من أو يساوي 14)
تحقَّق من توفّر العوامل الجغرافية المكانية في الموقع الجغرافي الحالي للجهاز.
ولأنّ واجهة برمجة التطبيقات Geospatial API تستخدم مزيجًا من VPS ونظام تحديد المواقع العالمي (GPS) لتحديد التحويل الجغرافي، يمكن استخدام واجهة برمجة التطبيقات ما دام الجهاز قادرًا على تحديد موقعه الجغرافي. وفي المناطق التي تكون فيها الدقة المنخفضة لنظام تحديد المواقع العالمي (GPS)، مثل المساحات الداخلية والبيئات الحضرية ذات الكثافة السكانية العالية، ستعتمد واجهة برمجة التطبيقات على تغطية خدمة VPS لإنشاء عمليات تحويل عالية الدقة. في الظروف العادية، من المتوقع أن يوفر جهاز VPS دقة موضعية تبلغ 5 أمتار تقريبًا ودقة دوران بمقدار 5 درجات. استخدِم GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
لتحديد ما إذا كان موقع جغرافي معيّن يوفّر تغطية خدمة VPS.
يمكن أيضًا استخدام واجهة برمجة التطبيقات Geospatial API في المناطق التي لا يوجد بها تغطية VPS. في البيئات الخارجية مع وجود عوائق علوية قليلة أو انعدامها، قد يكون نظام تحديد المواقع العالمي (GPS) كافيًا لإنشاء تحويل بدقة عالية.
الخطوات التالية
- احصل على التحويل الجغرافي المكاني لكاميرا الجهاز لتحديد الموقع الجغرافي الدقيق لجهاز المستخدم في العالم الحقيقي.
- تحقَّق من مدى توفّر برامج VPS في الموقع الجغرافي للجهاز.