انتقال به «عکس‌های مکان» (جدید)

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

  • از مدل قیمت‌گذاری جدیدی استفاده می‌کند. برای اطلاعات قیمت‌گذاری همه میاناهای برنامه‌سازی کاربردی، استفاده و صدور صورت‌حساب را ببینید.

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

  • برای درخواست کردن، روش جدید 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: ")
    }
  )
}

آبجکتیو-سی

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