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