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

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