تتيح حزمة تطوير برامج الأماكن لأجهزة iOS استخدام تفاصيل المكان (الإصدار القديم). إذا كنت على دراية بحزمة Places SDK for iOS (الإصدار القديم)، تُجري خدمة تفاصيل المكان (الإصدار الجديد) التغييرات التالية:
يستخدم نموذج تسعير جديدًا. للحصول على معلومات حول أسعار جميع واجهات برمجة التطبيقات، يُرجى الاطّلاع على أسعار حزمة تطوير البرامج (SDK) الخاصة بخدمة "الأماكن في Google" لنظام التشغيل iOS (الجديدة).
يجب إخفاء الحقل. يجب تحديد الحقول التي تريد عرضها في الرد. لا توجد قائمة تلقائية بالحقول التي يتم عرضها. إذا حذفت هذه القائمة، ستعرض الطرق رسالة خطأ.
لتقديم طلب، اتّصِل بالطريقة الجديدة
GMSPlacesClient fetchPlaceWithRequest:
.تمرير إلى الطلب:
مثيل لفئة
GMSFetchPlaceRequest
الجديدة التي تحدّد جميع مَعلمات الطلب، مثل معرّف المكان ورمز الجلسةدالة ردّ من النوع
GMSPlaceResultCallback
للتعامل مع الردّ.
تحتوي الاستجابة على مثيل
GMSPlace
يتضمّن تفاصيل حول المكان. يتم الآن تحديد القيم في السمةtypes
الخاصة بعنصرGMSPlace
من خلال الجدول أ والجدول ب.يحتوي العنصر
GMSPlace
في الاستجابة على السمة الجديدةreviews
من النوعGMSPlaceReview
. عندما يعرض تطبيقك معلومات تم الحصول عليها منGMSPlace
، مثل الصور والمراجعات، يجب أن يعرض التطبيق أيضًا بيانات المصدر المطلوبة.لمزيد من المعلومات، يُرجى الاطّلاع على المستندات المتعلقة بالمراجع.
يحتوي مثيل الاستجابة
GMSPlace
على دوال الأعضاء التالية:isOpen
تُستخدَم لتحديد ما إذا كان المكان مفتوحًا في وقت معيّن.isOpenAtDate
تحسب هذه السمة ما إذا كان المكان مفتوحًا في تاريخ معيّن.
لا تتوفّر هذه الدوال إلا عند تفعيل Places SDK لنظام التشغيل iOS. ولا تتوفّر هذه الميزات عند تفعيل حزمة تطوير البرامج Places SDK لنظام التشغيل iOS (الإصدار الجديد). لمزيد من المعلومات، يُرجى الاطّلاع على مقالة اختيار إصدار حزمة تطوير البرامج (SDK).
مثال على الطلب
باستخدام Place Details (New)، يمكنك إرسال طلب وتمرير جميع المَعلمات في مثيل 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); } }];