النقل إلى تفاصيل المكان (جديد)

تتيح حزمة تطوير برامج الأماكن لأجهزة 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);
  }
}];