Place Icons

Select platform: Android iOS JavaScript Web Service

Place icons indicate the various types of places (for example coffee shops, libraries, and museums). You can request URLs for icons in PNG format, as well as the corresponding icon background color, with Current Place , and Place Details requests.

To request an icon image and background color for a place, include the following fields in your request:

  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor

The following examples demonstrate using the icon image and background color from a Current Place or Place Details request:

Places Swift SDK for iOS

 // Initialize Places Swift client 
 let 
  
 placesClient 
  
 = 
  
 PlacesClient 
 . 
 shared 
  
 // A hotel in Saigon with an attribution. 
 let 
  
 placeID 
  
 = 
  
 "ChIJV4k8_9UodTERU5KXbkYpSYs" 
 // Specify the place data types to return. 
 let 
  
 fetchPlaceRequest 
  
 = 
  
 FetchPlaceRequest 
 ( 
  
 placeID 
 : 
  
 placeID 
 , 
  
 placeProperties 
 : 
  
 [. 
 displayName 
 , 
  
 . 
 iconMaskURL 
 , 
  
 . 
 iconBackgroundColor 
 ] 
 ) 
  
 Task 
  
 { 
  
 switch 
  
 await 
  
 placesClient 
 . 
 fetchPlace 
 ( 
 with 
 : 
  
 fetchPlaceRequest 
 ) 
  
 { 
  
 case 
  
 . 
 success 
 ( 
 let 
  
 place 
 ): 
  
 // Print displayName using String(describing:) 
  
 print 
 ( 
 "The selected place is: 
 \( 
 String 
 ( 
 describing 
 : 
  
 place 
 . 
 displayName 
 )) 
 " 
 ) 
  
 // We primarily need the iconMaskURL to proceed with image loading. 
  
 // iconBackgroundColor can be handled even if nil. 
  
 guard 
  
 let 
  
 iconMaskURL 
  
 = 
  
 place 
 . 
 iconMaskURL 
  
 else 
  
 { 
  
 print 
 ( 
 "Icon mask URL not available for this place. Cannot display icon." 
 ) 
  
 return 
  
 // Exit if iconMaskURL is missing 
  
 } 
  
 print 
 ( 
 "The icon mask URL is: 
 \( 
 iconMaskURL 
 ) 
 " 
 ) 
  
 // Print iconBackgroundColor using String(describing:) 
  
 print 
 ( 
 "The icon background color is: 
 \( 
 String 
 ( 
 describing 
 : 
  
 place 
 . 
 iconBackgroundColor 
 )) 
 " 
 ) 
  
 // Asynchronously load the icon image 
  
 DispatchQueue 
 . 
 global 
 (). 
 async 
  
 { 
  
 // The iconMaskURL from the new Places SDK is already a URL 
  
 guard 
  
 let 
  
 imageData 
  
 = 
  
 try 
 ? 
  
 Data 
 ( 
 contentsOf 
 : 
  
 iconMaskURL 
 ) 
  
 else 
  
 { 
  
 print 
 ( 
 "Could not download image data from URL: 
 \( 
 iconMaskURL 
 ) 
 " 
 ) 
  
 return 
  
 } 
  
 DispatchQueue 
 . 
 main 
 . 
 async 
  
 { 
  
 guard 
  
 let 
  
 iconImage 
  
 = 
  
 UIImage 
 ( 
 data 
 : 
  
 imageData 
 ) 
  
 else 
  
 { 
  
 print 
 ( 
 "Could not create UIImage from downloaded data." 
 ) 
  
 return 
  
 } 
  
 // --- Example of how you might use the icon and background color --- 
  
 // Ensure you have an imageView outlet connected in your UI 
  
 // For example: 
  
 // @IBOutlet weak var myImageViewContainer: UIView! 
  
 // @IBOutlet weak var myIconImageView: UIImageView! 
  
 // For this example, we'll create them programmatically: 
  
 let 
  
 iconBackgroundView 
  
 = 
  
 UIView 
 ( 
 frame 
 : 
  
 CGRect 
 ( 
 x 
 : 
  
 0 
 , 
  
 y 
 : 
  
 0 
 , 
  
 width 
 : 
  
 50 
 , 
  
 height 
 : 
  
 50 
 )) 
  
 // Adjust frame as needed 
  
 // Directly assign the optional UIColor. If nil, background will be clear. 
  
 iconBackgroundView 
 . 
 backgroundColor 
  
 = 
  
 place 
 . 
 iconBackgroundColor 
  
 let 
  
 imageView 
  
 = 
  
 UIImageView 
 () 
  
 // Initialize an empty UIImageView 
  
 imageView 
 . 
 frame 
  
 = 
  
 iconBackgroundView 
 . 
 bounds 
  
 // Make icon view same size as background 
  
 imageView 
 . 
 contentMode 
  
 = 
  
 . 
 scaleAspectFit 
  
 // Adjust content mode as needed 
  
 // Tint the icon image (mask) to white 
  
 // The icon from iconMaskURL is intended to be used as a mask. 
  
 let 
  
 templateImage 
  
 = 
  
 iconImage 
 . 
 withRenderingMode 
 (. 
 alwaysTemplate 
 ) 
  
 imageView 
 . 
 image 
  
 = 
  
 templateImage 
  
 imageView 
 . 
 tintColor 
  
 = 
  
 UIColor 
 . 
 white 
  
 // Add the image view on top of the background view 
  
 iconBackgroundView 
 . 
 addSubview 
 ( 
 imageView 
 ) 
  
 } 
  
 } 
  
 } 
 } 

Swift

 // Icon image URL 
 let 
  
 url 
  
 = 
  
 URL 
 ( 
 string 
 : 
  
 place 
 . 
 iconImageUrl 
 ) 
 DispatchQueue 
 . 
 global 
 (). 
 async 
  
 { 
  
 guard 
  
 let 
  
 url 
  
 = 
  
 url 
 , 
  
 let 
  
 imageData 
  
 = 
  
 try 
 ? 
  
 Data 
 ( 
 contentsOf 
 : 
  
 url 
 ) 
  
 else 
  
 { 
  
 print 
 ( 
 "Could not get image" 
 ) 
  
 return 
  
 } 
  
 DispatchQueue 
 . 
 main 
 . 
 async 
  
 { 
  
 let 
  
 iconImage 
  
 = 
  
 UIImage 
 ( 
 data 
 : 
  
 iconImageData 
 ) 
  
 // Icon image background color 
  
 let 
  
 iconBackgroundView 
  
 = 
  
 UIView 
 ( 
 frame 
 : 
  
 . 
 zero 
 ) 
  
 iconBackgroundView 
 . 
 backgroundColor 
  
 = 
  
 place 
 . 
 iconBackgroundColor 
  
 // Change icon image color to white 
  
 let 
  
 templateImage 
  
 = 
  
 iconImage 
 . 
 imageWithRenderingMode 
 ( 
 UIImageRenderingModeAlwaysTemplate 
 ) 
  
 imageView 
 . 
 image 
  
 = 
  
 templateImage 
  
 imageView 
 . 
 tintColor 
  
 = 
  
 UIColor 
 . 
 white 
  
 } 
 } 

Objective-C

 GMSPlace 
  
 * 
 place 
 ; 
 dispatch_async 
 ( 
 dispatch_get_global_queue 
 ( 
 0 
 , 
  
 0 
 ), 
  
 ^ 
 { 
  
 // Icon image URL 
  
 NSData 
  
 * 
  
 iconImageData 
  
 = 
  
 [[ 
 NSData 
  
 alloc 
 ] 
  
 initWithContentsOfURL 
 : 
  
 [ 
 NSURL 
  
 URLWithString 
 : 
  
 place 
 . 
 iconImageUrl 
 ]]; 
  
 if 
  
 ( 
 ! 
 iconImageData 
 ) 
  
 return 
 ; 
  
 dispatch_async 
 ( 
 dispatch_get_main_queue 
 (), 
  
 ^ 
 { 
  
 UIImage 
  
 * 
 iconImage 
  
 = 
  
 [ 
 UIImage 
  
 imageWithData 
 : 
 iconImageData 
 ]; 
  
 // Icon image background color 
  
 UIView 
  
 * 
 iconBackgroundView 
  
 = 
  
 [[ 
 UIView 
  
 alloc 
 ] 
  
 initWithFrame 
 : 
 CGRectZero 
 ]; 
  
 [ 
 iconBackgroundView 
  
 setBackgroundColor 
 : 
 place 
 . 
 iconBackgroundColor 
 ]; 
  
 // Change icon image color to white 
  
 iconImage 
  
 = 
  
 [ 
 iconImage 
  
 imageWithRenderingMode 
 : 
 UIImageRenderingModeAlwaysTemplate 
 ]; 
  
 [ 
 imageView 
  
 setTintColor 
 : 
 [ 
 UIColor 
  
 whiteColor 
 ]]; 
  
 }); 
 }); 

Fields

Each Place icon contains these fields:

  • iconImageUrl returns the base URL for a non-colored PNG icon.
  • iconBackgroundColor returns the default UIExtendedSRGBColorSpace color code for the place's category.

Place icon and background color requests

The following tables show all of the available place icons by category. By default these display with a black glyph. The icon background color is dictated by the place's category.

Place category: Food and drink
(icon background color #FF9E67)
Bar
Bar,
Night club
Cafe
Cafe
Restaurant
Restaurant, Bakery
Place category: Retail
(icon background color #4B96F3)
Bookstore
Books, Clothing, Electronics, Jewelry, Shoes,
Shopping center/Mall
Convenience store
Convenience store
Grocery
Grocery, Supermarket
Pharmacy
Pharmacy
Place category: Services
(icon background color #909CE1)
ATM
ATM
Bank
Bank
Gas
Gas
Lodging
Lodging
Post office
Post office
Place category: Entertainment
(icon background color #13B5C7)
Aquarium, Tourist
Aquarium, Tourist
Golf
Golf
Historic
Historic
Movie
Movie
Museum
Museum
Theater
Theater
Place category: Transportation
(icon background color #10BDFF)
Airport
Airport
Bus
Bus, rideshare, taxi
Train/Rail
Train/Rail
Place category: Municipal/generic/religious
(icon background color #7B9EB0)
Cemetery
Cemetery
Civic building
Civic building
Library
Library
Monument
Monument
Parking
Parking
School (primary, secondary, university)
School (primary, secondary, university)
Worship (Christian)
Worship (Christian)
Worship (Hindu)
Worship (Hindu)
Worship (Islam)
Worship (Islam)
Worship (Jain)
Worship (Jain)
Worship (Jewish)
Worship (Jewish)
Worship (Sikh)
Worship (Sikh)
Generic business
Generic business
Place category: Outdoor
(icon background color #4DB546)
Boating
Boating
Camping
Camping
Park
Park
Stadium
Stadium
Zoo
Zoo
Place category: Emergency
(icon background color #F88181)
Hospital
Hospital
Police
Police
Create a Mobile Website
View Site in Mobile | Classic
Share by: