Migrate to Place Photo (New)

Places SDK for iOS supports Place Photo (Legacy) . If you are familiar with Place Photo (Legacy), Place Photo (New) makes the following changes:

Example request

The following example method takes a place ID and gets the first photo in the returned list. You can use this method as a template for the method you will create in your own app.

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 
  
 } 
  
 }]; 
 }]; 
Create a Mobile Website
View Site in Mobile | Classic
Share by: