مهاجرت به مکان عکس (جدید)

Places SDK برای iOS از عکس مکان موجود پشتیبانی می کند. اگر با Place Photo موجود آشنا هستید، نسخه جدید Place Photo تغییرات زیر را اعمال می کند:

  • از مدل قیمت گذاری جدید استفاده می کند. برای اطلاعات قیمت گذاری برای همه API ها، به قیمت گذاری مکان ها SDK برای iOS (جدید) مراجعه کنید.

  • عکس مکان موجود حداکثر اندازه عکس 1600 در 1600 پیکسل را پشتیبانی می کند. عکس مکان (جدید) از اندازه‌های حداکثر 4800 در 4800 پیکسل پشتیبانی می‌کند.

  • برای درخواست، با متد جدید GMSPlacesClient fetchPhotoWithRequest:callback: تماس بگیرید.

  • عبور به درخواست:

    • نمونه ای از کلاس جدید GMSFetchPhotoRequest که تمام پارامترهای درخواست، از جمله حداکثر اندازه تصویر را تعریف می کند.

    • یک تماس از نوع GMSPlacePhotoMetadataResultCallback برای رسیدگی به پاسخ.

  • هر عکس با یک نمونه GMSPlacePhotoMetadata نشان داده می شود. برای Places SDK برای iOS (جدید) نمونه GMSPlacePhotoMetadata حاوی یک فیلد authorAttribution جدید است که توسط کلاس جدید GMSPlaceAuthorAttribution نشان داده شده است.

    اگر نمونه GMSPlacePhotoMetadata برگردانده شده شامل attributions یا authorAttribution باشد، باید هر جا که تصویر را نمایش می‌دهید، این اسناد را در برنامه خود قرار دهید. اسناد مربوط به اسناد را ببینید.

درخواست نمونه

روش مثال زیر یک شناسه مکان می گیرد و اولین عکس را در لیست برگشتی می گیرد. می توانید از این روش به عنوان الگوی روشی که در برنامه خود ایجاد می کنید استفاده کنید.

سریع

// 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: ")
    }
  )
}

هدف-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
    }
  }];
}];