باستخدام حزمة تطوير برامج "الأماكن" لأجهزة iOS، يمكنك اكتشاف المكان الذي يقع فيه الجهاز حاليًا. أي المكان الذي يقع فيه الموقع الجغرافي الذي تم الإبلاغ عنه حاليًا للجهاز. تشمل أمثلة الأماكن الأنشطة التجارية المحلية ونقاط الاهتمام والمواقع الجغرافية.
- طلب إذن تحديد الموقع الجغرافي
- حدود الاستخدام
- الحصول على الموقع الجغرافي الحالي
- عرض الإسنادات في تطبيقك
طلب إذن الوصول إلى الموقع الجغرافي
إذا كان تطبيقك يستخدم
GMSPlacesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
،
يجب أن يطلب إذنًا لاستخدام خدمات الموقع الجغرافي. أضِف مفتاح
NSLocationWhenInUseUsageDescription
إلى ملف Info.plist
لتحديد السلسلة التي تُعلم المستخدم بسبب حاجتك إلى خدمات تحديد الموقع الجغرافي. على سبيل المثال:
<key>NSLocationWhenInUseUsageDescription</key> <string>Show your location on the map</string>
إذا أردت الاتصال
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
عندما
يكون التطبيق في الخلفية، بدون بدء مربّع حوار تأكيد، اتّبِع
الخطوات التالية قبل إجراء المكالمة:
- أضِف مفتاح
NSLocationAlwaysUsageDescription
إلى ملفInfo.plist
. - استخدِم
requestAlwaysAuthorization
في أي مثيل منCLLocationManager
قبل استدعاء الطريقة.
يمكنك طلب الحصول على إذن من CLLocationManager
على النحو التالي:
Swift
locationManager.requestAlwaysAuthorization()
Objective-C
[self.locationManager requestAlwaysAuthorization];
الحصول على الموقع الجغرافي الحالي
للعثور على النشاط التجاري المحلي أو المكان الآخر الذي يقع فيه الجهاز
حاليًا، يُرجى الاتصال بالرقم
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
. أدرِج
المَعلمات التالية:
GMSPlaceField
واحد أو أكثر لتحديد أنواع البيانات التي سيتم عرضها في حال حذف هذه المَعلمة، سيتم عرض جميع الحقول المحتمَلة، وسيتمّ إصدار فواتير لك وفقًا لذلك. لا ينطبق ذلك إلا على طلبات تفاصيل الأماكن.- طريقة ردّ اتصال لمعالجة النتائج
تتطابق الحقول مع نتائج البحث عن الأماكن، وتنقسم إلى ثلاث فئات للفوترة: الأساسية وجهات الاتصال والجو. يتم تحصيل رسوم الاشتراك الأساسية مقابل الحقول الأساسية، ولا يتم تحصيل أي رسوم إضافية. يتم تحصيل رسوم أعلى مقابل حقول "جهة الاتصال" و"الجو". لمزيد من المعلومات حول كيفية فوترة طلبات بيانات "الأماكن"، يُرجى الاطّلاع على الاستخدام والفوترة.
تستدعي واجهة برمجة التطبيقات طريقة ردّ الاتصال المحدّدة، وتُرجع صفيفًا من عناصر
GMSPlaceLikelihood
.
يمثّل كل كائن
GMSPlaceLikelihood
مكانًا. تتضمّن النتيجة لكل مكان
مؤشرًا على احتمال أن يكون المكان هو المكان الصحيح. وكلما كانت القيمة أعلى، زاد احتمال أن يكون المكان هو المطابقة الأفضل. قد يكون المخزن المؤقت
فارغًا إذا لم يكن هناك مكان معروف يتوافق مع الموقع الجغرافي للجهاز.
يسترجع نموذج الرمز البرمجي التالي قائمة الأماكن التي من المرجّح أن يكون فيها الجهاز ، ويُسجّل الاسم والاحتمالية لكل مكان.
Swift
// Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: fields, callback: { (placeLikelihoodList: Array<GMSPlaceLikelihood>?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let placeLikelihoodList = placeLikelihoodList { for likelihood in placeLikelihoodList { let place = likelihood.place print("Current Place name \(String(describing: place.name)) at likelihood \(likelihood.likelihood)") print("Current PlaceID \(String(describing: place.placeID))") } } })
Objective-C
// Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:fields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (likelihoods != nil) { for (GMSPlaceLikelihood *likelihood in likelihoods) { GMSPlace *place = likelihood.place; NSLog(@"Current place name: %@", place.name); NSLog(@"Place ID: %@", place.placeID); } } }];
ملاحظات حول قيم الاحتمالية:
- تقدّم احتمالية الظهور احتمالية نسبية بأن يكون المكان هو أفضل مطابقة ضمن قائمة الأماكن المعروضة لطلب واحد. لا يمكنك مقارنة الاحتمالات على مستوى طلبات مختلفة.
- ستكون قيمة الاحتمالية بين 0 و1.0.
- يكون مجموع الاحتمالات في الصفيف الذي يتم إرجاعه من عناصر
GMSPlaceLikelihood
دائمًا أقل من أو يساوي 1.0. يُرجى العِلم أنّ المجموع ليس بالضرورة 1.0.
على سبيل المثال، لتمثيل احتمالية بنسبة% 55 أنّ المكان الصحيح هو "الموقع أ"، واحتمالة بنسبة% 35 أنّه "الموقع ب"، تتضمّن مصفوفة الاحتمالية عنصرَين: "الموقع أ" بالاحتمالية 0.55 و"الموقع ب" بالاحتمالية 0.35.
عرض الإسنادات في تطبيقك
عندما يعرض تطبيقك معلومات تم الحصول عليها من
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
، يجب أن يعرض التطبيق
أيضًا الإسنادات. اطّلِع على مزيد من المعلومات عن
عمليات تحديد المصدر.