Displaying Attributions

When displaying data from the Places SDK for iOS, such as autocomplete results or place name and address, there are some attribution and Google logo requirements you must comply with.


The attribution and logo requirements fall into the following categories:

Displaying a map

You can display Places API results on a Google Map, or without a map. If you want to display Places API results on a map, then these results must be displayed on a Google Map. It is prohibited to use Places API data on a map that is not a Google map.

Note that you're still required to display any relevant attributions for third-party content.

The 'Powered by Google' attribution

If your application displays data from the Places API on a Google Map, then the Google logo will be included and may not be altered. Applications that display Places API data on the same screen as a Google Map are not required to provide further attribution to Google.

If your application displays Places API data on a page or view without a Google Map, you must show a 'Powered by Google' image with that data. For example, if your application displays a list of places retrieved by the API on one screen, and a Google Map with those places on another screen, the first screen must show the 'Powered by Google' attribution.

The following ZIP file contains the 'Powered by Google' image in the correct sizes for desktop, Android and iOS applications. You may not resize or modify these images in any way.

Download: powered_by_google.zip

  • For use on a light background: powered-by-google-on-white<size-indicator>.png
  • For use on a dark background: powered-by-google-on-non-white<size-indicator>.png

Attributions for third-party content

Attributions to third-party providers contain content that you must display to the user in the format in which they are provided. Any links included in the attribution must be preserved. We recommend that your app shows this information below the place details.

Follow these instructions to retrieve third-party attributions for a single place or a collection of places.

Retrieving attributions for a single place

When you retrieve a place by getting a place by ID, you can retrieve the attributions for that place from the attributions property on GMSPlace .

The attributions are provided as an NSAttributedString object.

Retrieving attributions for a collection of places

If your app displays information obtained by requesting the device's current place, the app must display third-party attributions for the place details displayed. You can retrieve the attributions for all the places retrieved in the request, from the attributions property on GMSPlaceLikelihoodList.

The attributions are provided as a NSAttributedString object, which you can access and display in the same way as the attributions on a single place, as described above.

Displaying attributions for a photo

If your app displays photos, you must show attributions for each photo that has them. To get attributions for a photo, call GMSPlacePhotoMetadata.attributions. This property is a NSAttributedString, or nil if there are no attributions to display.


GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in
  if let error = error {
    // TODO: handle the error.
    print("Error: \(error.description)")
  } else {
    // Get attribution for the first photo in the list.
    if let photo = photos?.results.first {
      let attributions = photo.attributions


[[GMSPlacesClient sharedClient]
                  callback:^(GMSPlacePhotoMetadataList *_Nullable photos,
                             NSError *_Nullable error) {
                    if (error) {
                      // TODO: handle the error.
                      NSLog(@"Error: %@", [error description]);
                    } else {
                      // Get attribution for the first photo in the list.
                      if (photos.results.count > 0) {
                        GMSPlacePhotoMetadata *photo = photos.results.firstObject;
                        NSAttributedString *attributions = photo.attributions;

Displaying third-party attributions

Attributions to third-party providers are provided as NSAttributedString objects and contain content with links that you must display to the user. Any links included in the attribution must be preserved.

The recommended way to display the attributions is with a UITextView as links in the attributions must work. To ensure links work set a delegate on the UITextView and set the shouldInteractWithURL method of your UITextViewDelegate to return YES. See the code sample below.


  self.attributionTextView.delegate = self

// MARK: - UITextViewDelegate

func textView(textView: UITextView, shouldInteractWithURL URL: NSURL,
  inRange characterRange: NSRange) -> Bool {
  // Make links clickable.
  return true


  self.attributionTextView.delegate = self;

#pragma mark - UITextViewDelegate

- (BOOL)textView:(UITextView *)textView
    shouldInteractWithURL:(NSURL *)url
                  inRange:(NSRange)characterRange {
  // Make links clickable.
  return YES;

Example of a third-party attribution

A third-party attribution typically consists of text with a link. For example:

Listings by Example Company

In the above example, the Example Company text range is covered by an NSLink attribute.