باستخدام حزمة تطوير برامج الأماكن لأجهزة 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
واحد أو أكثر، مع تحديد أنواع البيانات للرجوع. إذا حذفت هذه المعلمة، سيتم عرض جميع الحقول المحتملة سيتم تحصيل الرسوم منك وفقًا لذلك. ينطبق ذلك فقط على طلبات "تفاصيل المكان".- طريقة معاودة الاتصال لمعالجة النتائج.
وتتطابق الحقول مع نتائج البحث عن الأماكن، وتنقسم إلى ثلاث فئات فوترة: الأساسي، والتواصل، والأجواء. تتم فوترة الحقول الأساسية بالسعر الأساسي، ولن يتم تحصيل أي رسوم إضافية الرسوم. يتم تحصيل الرسوم من حقلَي Contact وAtmosphere بسعر أعلى. لمزيد من المعلومات حول كيفية إصدار فواتير طلبات بيانات الأماكن، راجع الاستخدام والفوترة:
تستدعي واجهة برمجة التطبيقات طريقة معاودة الاتصال المحددة، وتعرض مصفوفة من
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% أن يكون المكان ب، فإن صفيفة الاحتمالية تضم عضوين: ضع A مع احتمال 0.55 ضع بـ باحتمالية 0.35.
عرض الإحالات في تطبيقك
عندما يعرض تطبيقك معلومات تم الحصول عليها من
GMSPlacesClient
findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:
، يتضمن التطبيق
يجب أن يعرض أيضًا الإحالات. مزيد من المعلومات عن
الإحالة.