باستخدام حزمة تطوير برامج "الأماكن" لأجهزة 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:
، يجب أن يعرض التطبيق
أيضًا الإسنادات. اطّلِع على مزيد من المعلومات عن
عمليات تحديد المصدر.