نقل إلى صورة المكان (جديد)

تتيح حزمة تطوير برامج الأماكن لأجهزة iOS ميزة "صورة المكان" (الإصدار القديم). إذا كنت على دراية بميزة "صورة المكان" (الإصدار القديم)، ميزة "صورة المكان" (الإصدار الجديد) تُجري التغييرات التالية:

  • تستخدم نموذج تسعير جديدًا. للاطّلاع على معلومات التسعير لجميع واجهات برمجة التطبيقات، يُرجى مراجعة مقالة التسعير في حزمة تطوير برامج الأماكن لأجهزة iOS (الجديدة).

  • كانت ميزة "صورة المكان" (الإصدار القديم) تتيح حجمًا أقصى للصور يبلغ 1600 × 1600 بكسل. تتيح ميزة "صورة المكان" (الإصدار الجديد) أحجامًا تصل إلى 4800 × 4800 بكسل.

  • لإجراء طلب، عليك استدعاء الطريقة الجديدة GMSPlacesClient fetchPhotoWithRequest:callback:.

  • عليك تمرير ما يلي إلى الطلب:

    • مثيل لفئة GMSFetchPhotoRequest الجديدة التي تحدّد جميع مَعلمات الطلب، بما في ذلك الحد الأقصى لحجم الصورة

    • دالة معاودة الاتصال من النوع GMSPlacePhotoMetadataResultCallback للتعامل مع الرد

  • يتم تمثيل كل صورة بمثيل GMSPlacePhotoMetadata. بالنسبة إلى حزمة تطوير برامج الأماكن لأجهزة iOS (الجديدة)، يحتوي GMSPlacePhotoMetadata مثيل على حقل جديد authorAttribution يتم تمثيله بفئة جديدة GMSPlaceAuthorAttribution.

    إذا كان مثيل GMSPlacePhotoMetadata الذي تم عرضه يتضمّن attributions أو authorAttribution، عليك تضمين هذه الإحالات في تطبيقك أينما تعرض الصورة. يُرجى الاطّلاع على المستندات حول الإحالات.

مثال على الطلب

يأخذ مثال الطريقة التالي معرّف مكان ويحصل على الصورة الأولى في القائمة التي يتم عرضها. يمكنك استخدام هذه الطريقة كنموذج للطريقة التي ستُنشئها في تطبيقك.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Request list of photos for a place
placesClient.lookUpPhotos(forPlaceID: placeID) { (photos, error) in

  guard let photoMetadata: GMSPlacePhotoMetadata = photos?.results[0] else {
    return }

  // Request individual photos in the response list
  let fetchPhotoRequest = GMSFetchPhotoRequest(photoMetadata: photoMetadata, maxSize: CGSizeMake(4800, 4800))
  self.client.fetchPhoto(with: fetchPhotoRequest, callback: {
    (photoImage: UIImage?, error: Error?) in
      guard let photoImage, error == nil else {
        print("Handle photo error: ")
        return }
      print("Display photo Image: ")
    }
  )
}

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

[placesClient lookUpPhotosForPlaceID:placeID callback: ^(GMSPlacePhotoMetadataList *list, NSError *error) {
  GMSPlacePhotoMetadata *photoMetadata = [list results][0];

  // Request individual photos in the response list
  GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)];
  [placesClient fetchPhotoWithRequest:fetchPhotoRequest callback: ^(UIImage *_Nullable photoImage, NSError *_Nullable error) {
    if (error == nil) {
      // Display photo
    }
  }];
}];