کیت توسعه نرمافزاری 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 } }]; }];