Places SDK for iOS 支持现有的地点照片。如果您熟悉现有的地点照片,不妨从新版地点照片进行以下更改:
使用新的价格模式。如需了解所有 API 的价格信息,请参阅 Places SDK for iOS(新)的价格。
现有地点照片支持的最大照片尺寸为 1600 x 1600 像素。地点照片(新)支持的尺寸最大为 4800 x 4800 像素。
如需发出请求,请调用新的
GMSPlacesClient lookUpPhotosForPlaceID:
方法,并以字符串形式传递地点 ID。向请求传递一个
GMSPlacePhotoMetadataResultCallback
类型的回调来处理响应。响应中的每张照片都由一个
GMSPlacePhotoMetadata
实例表示。对于 Places SDK for iOS(新),GMSPlacePhotoMetadata
实例包含一个由新的 GMSPlaceAuthorAttribution 类表示的新authorAttribution
字段。如果返回的
GMSPlacePhotoMetadata
实例包含attributions
或authorAttribution
,则您必须在应用中的任何位置包含这些提供方说明。请参阅有关归因的文档。
示例请求
以下示例方法使用地点 ID 并获取返回列表中的第一张照片。您可以将此方法用作您将在自己的应用中创建的方法的模板。
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 = photos.first else { return } // Request individual photos in the response list let fetchPhotoRequest = GMSFetchPhotoRequest(metadata: photoMetadata, maxSize: CGSizeMake(4800, 4800) placesClient.fetchPhoto(fetchPhotoRequest: fetchPhotoRequest, callback: { (photoURL: URL?, error: Error?) in guard let photoURL, error == nil else { return } print("Photo URL: \(photoURL)") }) };
Objective-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; [placesClient lookUpPhotosForPlaceID:placeID callback: (GMSPlacePhotoMetadataList *list, NSError *error) { GMSPlacePhotoMetadata *photoMetadata = [list firstObject]; if (photoMetadata == nil) { return } // Request individual photos in the response list GMSFetchPhotoRequest *fetchPhotoRequest = [[GMSFetchPhotoRequest alloc] initWithPhotoMetadata:photoMetadata maxSize:CGSizeMake(4800, 4800)]; [placesClient fetchPhoto:fetchPhotoRequest, callback: ^(NSURL *_Nullable photoURL, NSError *_Nullable error) { if (error == null) { NSLog(@"Photo URL: %@", photoURL) } }]; }];