تتيح حزمة تطوير برامج "الأماكن" لأجهزة iOS استخدام ميزة تفاصيل الأماكن الحالية. إذا كنت على دراية بحزمة Places SDK الحالية لأجهزة iOS، يُجري الإصدار الجديد من "تفاصيل الأماكن" التغيُّرات التالية:
يستخدم نموذج أسعار جديدًا. للحصول على معلومات حول أسعار جميع واجهات برمجة التطبيقات، يُرجى الاطّلاع على أسعار حزمة تطوير البرامج (SDK) لأماكن Google لنظام التشغيل iOS (جديد).
يجب حجب الحقول. يجب تحديد الحقول التي تريد عرضها في الاستجابة. لا تتوفّر قائمة تلقائية بالحقول المعروضة. في حال حذف هذه القائمة، ستعرض الطرق خطأ.
لتقديم طلب، يمكنك استدعاء الأسلوب الجديد
GMSPlacesClient fetchPlaceWithRequest:
.عليك إرسال ما يلي إلى الطلب:
مثيل للفئة الجديدة
GMSFetchPlaceRequest
التي تحدّد جميع مَعلمات الطلب، مثل رقم تعريف المكان ورمز الجلسةدالة استدعاء من النوع
GMSPlaceResultCallback
لمعالجة الردّ
يحتوي الردّ على مثيل
GMSPlace
يحتوي على تفاصيل عن المكان. يتم الآن تحديد القيم في سمةtypes
لمثيلGMSPlace
من خلال الجدول "أ" و الجدول "ب".يحتوي مثيل الاستجابة
GMSPlace
على السمة الجديدةreviews
من النوعGMSPlaceReview
. عندما يعرض تطبيقك معلومات تم الحصول عليها منGMSPlace
المثيل، مثل الصور والمراجعات، يجب أن يعرض التطبيق أيضًا الإسنادات المطلوبة.لمزيد من المعلومات، يُرجى الاطّلاع على المستندات المتعلّقة بموضوع الإحالات.
تحتوي نسخة
GMSPlace
من الاستجابة على وظائف الأعضاء التالية:isOpen
تُستخدَم هذه السمة لتحديد ما إذا كان المكان مفتوحًا في الوقت المحدّد.تحسب دالة
isOpenAtDate
ما إذا كان المكان مفتوحًا في تاريخ معيّن.
لا تتوفّر هذه الدوالّ إلا عند تفعيل حزمة تطوير البرامج (SDK) لتطبيق "الأماكن" لنظام التشغيل iOS. ولا تتوفّر هذه الميزة عند تفعيل حزمة تطوير برامج "الأماكن" لأجهزة iOS (الإصدار الجديد). لمزيد من المعلومات، يُرجى الاطّلاع على مقالة اختيار إصدار حزمة SDK.
مثال على الطلب
باستخدام "تفاصيل المكان (جديد)"، يمكنك تقديم طلب و
تمرير جميع المَعلمات في مثيل GMSFetchPlaceRequest
. يستخدم المثال التالي أيضًا قناع حقل كي لا يتضمّن الردّ سوى الاسم المعروض
وعنوان URL للموقع الإلكتروني للمكان:
Swift
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue} // Create the GMSFetchPlaceRequest instance. let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: fields, sessionToken: nil) client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: { (place: GMSPlace?, error: Error?) in guard let place, error == nil else { return } print("Place found: \(String(describing: place.name))") })
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. NSArray<NSString *> *fields = @[GMSPlacePropertyName, GMSPlacePropertyWebsite]; // Create the GMSFetchPlaceRequest instance. GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: fields sessionToken:nil]; [placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { NSLog(@"Place Found: %@", place.name); NSLog(@"The place URL: %@", place.website); } }];