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

کیت توسعه نرم‌افزاری Places برای iOS از Place Photo (Legacy) پشتیبانی می‌کند. اگر با Place Photo (Legacy) آشنا هستید، Place Photo (New) تغییرات زیر را ایجاد می‌کند:

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

  • Place Photo (Legacy) حداکثر اندازه عکس ۱۶۰۰ در ۱۶۰۰ پیکسل را پشتیبانی می‌کرد. Place Photo (New) از اندازه‌هایی تا ۴۸۰۰ در ۴۸۰۰ پیکسل پشتیبانی می‌کند.

  • برای ارسال یک درخواست، متد جدید GMSPlacesClient fetchPhotoWithRequest:callback: فراخوانی کنید.

  • به درخواست ارسال کنید:

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

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

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

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

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

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

سویفت

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

هدف-سی

// 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
    }
  }];
}];