Places SDK for iOS 支援現有的 Place Photo。 如果你熟悉現有的地點相片,則 新版 Place Photo 進行下列變更:
使用新的定價模式。如需所有 API 的定價資訊,請參閱 Places SDK for iOS 定價 (新版)。
現有的 Place Photo 支援相片數量上限 大小為 1600 x 1600 像素Place Photo (新) 可支援高達 4800 x 4800 像素的大小。
如要提出要求,請呼叫新的
GMSPlacesClient fetchPhotoWithRequest:callback:
方法。傳遞至要求:
新的
GMSFetchPhotoRequest
敬上 類別,用來定義所有要求參數 (包括圖片大小上限)。型別的回呼
GMSPlacePhotoMetadataResultCallback
敬上 處理回應。
每張相片都會以
GMSPlacePhotoMetadata
敬上 執行個體。適用於 Places SDK for iOS (新版)GMSPlacePhotoMetadata
執行個體包含authorAttribution
新值是由新的 GMSPlaceAuthorAttribution 類別如果傳回的
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: 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: ") } ) }
Objective-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 } }]; }];