You're all set!

To start developing, please head over to our developer documentation.

Activate the Google Places API for iOS

To get you started we'll guide you through the Google Developers Console to do a few things first:

  1. Create or choose a project
  2. Activate the Google Places API for iOS
  3. Create appropriate keys
Continue

Google Places API for iOS Release Notes

Subscribe to these release notes. Subscribe

We will update this changelog with each new release of the Google Places API for iOS. The changelog will list releases by date and will include any new features, bug fixes or significant performance improvements.

For a guide to downloading the API and building your first app, see the getting-started guide.

Version 2.4 - August 2, 2017

Version 2.3.1 - June 19, 2017

Resolved Issues

  • Fixed an issue resulting in a crash when receiving photos for certain places. (Issue 36575500.)

Version 2.3 - May 30, 2017

Features

  • Expanded the number of scenarios where you can use the place picker with the addition of GMSPlacePickerViewController. The old GMSPlacePicker is now deprecated.

Improvements

  • Dropped support for iOS 7, which enabled the use of modern core data threading models. This means that applications should be able to use -com.apple.CoreData.ConcurrencyDebug 1 when debugging with iOS 10 devices.

Version 2.2 - February 14, 2017

Resolved Issues

  • Fixes an issue where the Place Picker viewport was not being centered correctly (Issue 11206.)
  • Fixes an issue where the Autocomplete error delegate method was not called in all conditions.

Version 2.1.1 - November 8, 2016

Resolved Issues

  • Fixes an issue which caused rotation of the place picker to move the marker.
  • Reduces the timeout on calls to currentPlace(callback:) to match Android (Issue 10563.)

Version 2.1 - September 22, 2016

Resolved Issues

  • Added workaround for the userEmail triggering false positives during submission to the Apple app store (Issue 10508.)
  • Errors returned from lookUpPlaceID(_:callback:) now have the correct error domain and codes.
  • Small fixes to RTL support in the place picker.
  • Minor reliability improvements for the autocomplete widget and place picker.

Version 2.0.1 - July 29, 2016

Resolved Issues

  • Array properties are now correctly typed when accessed from Swift. (Issue 10183.)

Version 2.0.0 - July 26, 2016

Improvements

  • This release splits the Places API from the Maps SDK. Previously, if you wanted to use the Places API you had to include all of GoogleMaps. As a result of the split, the final size of the Places API binary is 70% smaller than the previous combined binary. If you are using only the Maps SDK you will not be affected unless you have pinned your dependency on GoogleMaps to a version earlier than 2.0. In this case, you should update this restriction in your Podfile. If you are using the Places API, see Migrating to Google Places API for iOS 2.0.
  • Places SDK demos are now available separately from Maps demo apps.

Resolved Issues

  • The Places framework is now available as a download for manual installation. For details, see Get Started. (Issue 8856.)
  • The Places API no longer requests permission to access the user's location on behalf of the app. This means that existing code which calls GMSPlacesClient.currentPlaceWithCallback(_:) must be updated to ensure that the location permission has been granted beforehand.

Version 1.13.2 - May 12, 2016

Resolved Issues

  • Added a workaround to avoid the false positive for the non-public API imageWithName: selector. (Issue 9704.)

Version 1.13.1 - May 02, 2016

Resolved Issues

  • Fixed an application hang when using a UIView with autolayout enabled as an info window or as a marker iconView. (Issue 9525.)
  • Changed lookUpPlaceID to not call its callback twice in error scenarios. (Issue 9310.)

Version 1.13.0 - March 29, 2016

Features

  • Autocomplete widgets in the Places API now provide options for custom styling.
  • UIView based markers. Marker content can now show advanced animations by providing a custom view hierarchy to be displayed through the iconView property. See the documentation for details. (Issue 5203.)
  • Info windows can now have their custom views animated. Set tracksInfoWindowChanges on the associated marker to YES to enable real-time updates. (Issue 5559.)
  • Map rendering now defaults to 60fps on modern iOS devices. Set the new preferredFrameRate property on GMSMapView to revert to the old behavior (Conservative) or a new low frame rate option to save battery (PowerSave). (Issue 5066.)
  • Added mapViewSnapshotReady: to GMSMapViewDelegate which fires when map content, including markers and other overlays, has been fully rendered.

Resolved Issues

  • GMSAutocompleteViewController now works when used in a storyboard.
  • Added missing Place Type constants. (Issue 8121.)
  • GMSCoordinateBounds initWithVisibleRegion: now chooses correct bounds for large viewports.
  • Added a workaround to avoid a graphical glitch in snapshots taken using pre iOS 7 methods when the My Location button is disabled. (Issue 9173.)

Version 1.12.3 - February 2016

Resolved Issues

  • Fixed corruption in included bitcode that caused Xcode archive action to fail. (Issue 9368.)
  • Added a workaround for a limitation in Xcode 6.4 which was failing to compile the included headers.

Version 1.12.2 - February 2016

Features

  • Added place photos to the Places API. (Issue 8202.)
  • Added structured address components to GMSPlace objects. (Issue 8121.)
  • SDK method signatures have been updated with generics and nullability annotations.

Resolved Issues

  • GMSPlace objects now contain rating and price level where available.
  • Minor bugfixes for the autocomplete widget UI.
  • panoramaView:didMoveCamera: is no longer raised during the panoramaView delegate setter. (Issue 5630.)
  • Old unused logo files have been removed from the SDK. (Issue 9148.)
  • Tap events on polygons near the anti-meridian are more reliable.
  • Resolved an issue resulting in unrecognized selector crashes when calling class methods on categories. (Issue 9000.)

Version 1.12.1 - February 2016

This version is exactly the same as 1.11.1. It was released to replace the removed 1.12.0 release.

Version 1.12.0 - February 2016

This version was removed because of errors in the framework and should not be used.

Version 1.11.1 - December 2015

Resolved Issues

  • Modally presented Place Autocomplete widgets now correctly respect UINavigationBar appearance proxy settings.
  • Resolved minor UI issues with the Place Autocomplete widgets.
  • Updated GoogleMaps.bundle info.plist to avoid triggering checks in pre-submission verification. (Issue 8488.)

Version 1.11.0 - December 2015

Features

  • Bitcode is now included in the SDK binary for all device architectures. (Issue 8219.)
  • Added Place Autocomplete widget classes.
  • New events for long press on an info window, and closing an info window, have been added to GMSMapViewDelegate.
  • GMSMapViewDelegate has new events to indicate when map tiles and labels are pending and finished rendering. (Issue 5430.)
  • GMSPanoramaViewDelegate has new events to indicate when panorama tiles are pending and finished rendering. (Issue 5430.)
  • GMSGroundOverlay now supports an alpha multiplier via the opacity property.
  • Added a holes property to GMSPolygon to allow for the subtraction away from the filled area in order to create more complex shapes. (Issue 5464.)
  • At zoom levels greater than 14, the maximum tilt has been increased. (Issue 5169.)
  • Added an autocomplete screen to the Place Picker.
  • Split autocomplete predictions into primary and secondary text fields.
  • Added a country filter option to GMSAutocompleteFilter.
  • Added a viewport field to GMSPlace.

Resolved Issues

  • Correct handling of taps on overlapping markers. (Issue 7587, Issue 8591.)
  • Address a race condition dependent crash which can happen when an application enters and leaves the background while showing a map. (Issue 7011.)
  • Fix blank maps which can happen when launching an app into the background. (Issue 8510.)
  • Workaround issues with core animation that caused markers to jump. (Issue 8451.)
  • Updated to avoid subtle conflicts with applications which use google-toolbox-for-mac.
  • Use the iPhone language instead of the region formatting language for Places API results (Issue 8536.)

Notes - Setting GMSMapView selectedMarker to a marker not on the map is now ignored, always set the marker's map property before attempting to select it.

Version 1.10.5 - October 2015

Resolved Issues

  • Worked around an issue in the Swift compiler's handling of umbrella header module entries. (Issue 8524.)

Version 1.10.4 - October 2015

Resolved Issues

  • Fixed a crash on iOS 9 when dismissing the place picker without a selection. (Issue 8672.)
  • Fixed a crash when using both a GMSMapView and a UIWebView or WKWebView in the view hierarchy at the same time. (Issue 8343.)
  • Recompiled with Xcode 7 to avoid raising failed to load optimized model log messages on iOS 9 devices. (Issue 8459.)

Version 1.10.3 - September 21, 2015

Features:

  • Google logos have been updated.

Resolved Issues:

  • Framework now ships with the device version of bundles to pass Xcode 7 archive checks. (Issue 8568.)

Version 1.10.2 - August 25, 2015

Resolved Issues:

  • Fixed a crash releasing a map view while in background. (Issue 8200.)
  • Resolved a conflict with apps using gtm-session-fetcher resumable downloads.
  • Recompiled with Xcode 6.4 to avoid some bugs in Xcode 6.3 compiler.
  • Updated GoogleMaps.bundle info.plist to avoid triggering new checks in pre-submission verification. (Issue 8488.)

Version 1.10.1 - June 10, 2015

Resolved Issues

  • Fixed an issue where instantiating GMSPlacesClient triggered a request to the user to enable Bluetooth on the device.
  • Miscellaneous improvements to the GMSPlacePicker UI.

Version 1.10.0 - May 28, 2015

This is the first fully-public release of the Google Places API for iOS.

Features

Help your customers explore where they are and what’s around them:

  • Use the built-in place picker UI widget, allowing users to select a place on an interactive map.
  • Get the current place, that is, the place where the device is last known to be located.
  • Retrieve and display rich information about a place.
  • Store the unique place ID for one or more places, and use the ID to retrieve place information on demand.
  • Make it easy to enter place names and addresses, by autocompleting your users' queries as they type.
  • Add a place to Google's Places database, for retrieval immediately from within your own app and for visibility to other apps after moderation.
  • Improve the map around you by reporting the presence of a device at a particular place.

Version 1.9.2 - March 2015

Initial public beta release.

Send feedback about...

location_on
Google Places API for iOS