Deprecations

This page lists all Google Maps Platform products and features which are currently in a deprecation period. This includes products under Maps, Routes, and Places.

How deprecation works

The deprecation period for a product, feature, or version begins on the announcement date for the deprecation. The product, feature, or version will continue to be available throughout the deprecation period (typically 12 months). Once the deprecation period has elapsed, the product, feature, or version is expected to be decommissioned, and will no longer be available.

Project Owners with monitored email addresses receive proactive notifications about changes that impact each of their projects.Stay informedabout major updates, deprecations, and other changes.

Deprecation in SDK versions

In SDKs and the Maps JavaScript API, feature deprecations are tied to version availability. New major versions declare breaking changes including feature deprecations and release notes indicate the maximum supporting version of each deprecated feature. You can continue to use the deprecated feature for as long as its maximum supporting SDK version is available. To upgrade to the next major version of the SDK, you must remove use of the deprecated feature from your code or migrate to its replacement.

Learn more aboutMaps JavaScript API version availability, which follows a quarterly release and decommissioning schedule.

See guidance on managing version dependencies with theMaps SDK for Android, Maps SDK for iOS, Places SDK for Android, andPlaces SDK for iOS.

Active deprecations

This section lists all products and features which are currently in a deprecation period.


Maps SDK for iOS: setMetalRendererEnabled (As of v9.0.0)

Since Apple has deprecated OpenGL support as of iOS 12 (2018), support for the OpenGL renderer and thesetMetalRendererEnabledboolean in the Maps SDK for iOS is deprecated as of v9.0.0, and will be unsupported in the major version that will be released in the second quarter of 2025.

Instead, use the Metal renderer, which has been default since Maps SDK for iOS v8.0.0, and removesetMetalRendererEnabledfrom your codebase.


Legacy cloud-based maps styling (Deprecated as of March 2024)

All legacy map styles will need to migrate to the next-generation of cloud-based maps styling.

All Google cloud projects with existing legacy map styles or those who have chosen toopt-outof the next-generation of cloud-based maps styling prior to March 18, 2024, will be able to retain those preferences until March 18, 2025.

Starting March 18, 2025 the legacy map styles will be automatically migrated and decommissioned. Some styling changes may result from this automatic migration.

After March 18, 2024, you will not be able to create new legacy map styles unless you have previously opted-out of the latest version of cloud-based maps styling. Previously-created legacy map styles will still be available during the migration period.

After March 18, 2025, legacy map styles will be automatically migrated. Some styling changes may result from this automatic migration.

Update any legacy map stylesto the latest version before March 18, 2025 to avoid any disruption in your map styles.


google.maps.Marker in the Maps JavaScript API (Deprecated as of February 2024)

Advanced Markers (google.maps.marker.AdvancedMarkerElement) are better than google.maps.Marker in almost every way: easier to use, more performant, more accessible, more feature-rich, and more customizable. google.maps.Marker in the Maps JavaScript API is deprecated as of 3.56.

What do I need to do? Instead, usegoogle.maps.marker.AdvancedMarkerElement.The minimum version of the Maps JavaScript API with google.maps.marker.AdvancedMarkerElement is 3.53.2. At this time, google.maps.Marker is not scheduled to be discontinued, but google.maps.marker.AdvancedMarkerElement is recommended over google.maps.Marker. While google.maps.Marker will continue to receive bug fixes for any major regressions, existing bugs in google.maps.Marker will not be addressed. At least 12 months notice will be given before support is discontinued.


GoogleMapsM4B SDK (Deprecated as of February 2024)

To streamline the SDK, the obsolete GoogleMapsM4B module in the Maps SDK for iOS is deprecated as of February 2024, and will be unsupported in the major version that will be released in the second quarter of 2025.

Since the GoogleMapsM4B module is related to an obsolete billing plan, it is safe to remove dependencies on the legacy GoogleMapsM4B module in your app. If you use CocoaPods to install the Maps SDK for iOS, remove theGoogleMapsM4Bpod from the list of dependencies in your Podfile. If you manually install the Maps SDK for iOS, remove the GoogleMapsM4B frameworkfrom your project.


Bounds, location, and radius in the Maps JavaScript API Place Autocomplete Service (Deprecated as of May 2023)

For the Place Autocomplete Service in the Maps JavaScript API, the following request options are deprecated as of May 2023: bounds, location, and radius. Please use locationBias and locationRestriction instead.

The feature will continue to work, and 12 months notice will be given before support is discontinued.


Places compatibility library for Places SDK for Android (As of March 31, 2022)

All versions of the Places compatibility library for Places SDK for Android are deprecated as of March 31, 2022. We are freezing development of the Places compatibility library on Places SDK for Android v2.6.0 (specified in dependencies ascom.google.android.libraries.places:places-compat:2.6.0).

No new versions of this library will be released after this date. The only way to access features and bug fixes in Places SDK for Android above Version 2.6.0 will be to use the Places SDK for Android.

The Places compatibility library was introduced in January 2019 to facilitate the migration from the legacy SDK (available in Play Services) to the standalone Places SDK for Android.

Followthe migration guide to use the Places SDK for Android directly. Some status codes, method names, and Autocomplete class names are different between the Places compatibility library and the Places SDK for Android. See theVersions documentation for specifying and maintaining dependencies on versions of the Places SDK for Android.

There is no plan to decommission the Places compatibility library at this time. However, if you choose to continue using available versions of the Places compatibility library, note the limitations on supportingold versions of an SDK.


Content Security Policy update (March 21, 2022 - May 2023)

Support for websites usingContent Security Policy (CSP) that do not specify googleapis in the Maps JavaScript API is deprecated as of v3.49, and will be unsupported beginning with v3.50. The last supporting version, v3.49, will be decommissioned in Q2 2023 after which the Maps JavaScript API will reject all requests using CSP directives that do not specify googleapis.

To avoid disruption of your website experience,specify googleapis in your CSP. All currently available versions of the Maps JavaScript API support CSP.


Places SDK for iOS GMSPlaceFieldnow uses theNS_OPTIONSmacro (As of v4.0.0)

Starting with Places SDK for iOS v4.0.0, GMSPlaceFieldnow uses theNS_OPTIONSmacro instead of NS_ENUMfor better Swift support. Read more aboutMigrating to GMSPlaceField as NS_OPTIONS.

To continue usingGMSPlaceFieldasNS_ENUM,specify v3.10.0 or earlier in yourdependencies.


Places SDK for iOS methods: setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner, initWithBounds:filter (v3.10.0 - v4.0.0)

ThesetAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner helper method is deprecated as of v3.10.0, and is unsupported in v4.0.0 and higher. Instead, uselocationBias, orlocationRestriction.

TheinitWithBounds:filter method is deprecated as of v3.10.0, and is unsupported in v4.0.0 and higher. Instead, useinitWithFilter: inGMSAutocompleteFetcher.

The maximum supporting version for these deprecated methods is v3.10.0.

For details about replacement methods, seeAppendix 1.


GMSCoordinateBoundsin Place Autocomplete (v3.9.0 - v4.0.0)

Several properties/parameters utilizingGMSCoordinateBounds in the Places SDK for iOS Autocomplete service, are deprecated as of v3.9.0, and are unsupported in v4.0.0 and higher. The maximum supporting version for the deprecated properties/parameters is v3.10.0.

Bounds inGMSAutocompleteViewController

The followingGMSAutocompleteViewControllerproperties are deprecated:

For equivalent functionality, useGMSAutocompleteViewController.autocompleteFilter, with eitherGMSAutocompleteFilter.locationBias orGMSAutocompleteFilter.locationRestriction. The minimum version of the Places SDK for iOS with these replacement properties is v3.8.0.

Bounds infindAutocompletePredictionsFromQueryandautocompleteQuery

For equivalent functionality, usefindAutocompletePredictionsFromQuery:filter:sessionToken:callback with eitherGMSAutocompleteFilter.locationBias orGMSAutocompleteFilter.locationRestriction. The minimum version of the Places SDK for iOS with these replacement properties is v3.8.0.

For details about replacement methods, seeAppendix 1.


Places fieldGMSPlace.openNowStatus(v3.0.0 - v4.0.0)

The Places field/propertyGMSPlace.openNowStatusin the Places SDK for iOS is deprecated as of v3.0.0, and is unsupported in v4.0.0 and higher. The maximum supporting version for the deprecated field is v3.10.0.

Instead, use functionsGMSPlace.isOpenor GMSPlace.isOpenAtDate. The minimum version of the Places SDK for iOS with these replacement functions is v3.3.0.


Places field:permanently_closed(Deprecated on May 26, 2020)

The Places fieldpermanently_closedin the Places API and Places Library, Maps JavaScript API is deprecated, and should not be used. Instead, use business_status(Places API)or business_status(Places Library) to get the operational status of businesses. The minimum version of Places Library, Maps JavaScript API withbusiness_statusis v3.40.


Places fieldsopen_now,utc_offset(Deprecated on November 20, 2019)

The Places fieldsopen_nowandutc_offsetin the Places Library, Maps JavaScript API are deprecated as of November 20, 2019, and should not be used.

These fields are only deprecated in the Places Library, Maps JavaScript API.

  • Theopen_nowfield has been replaced by PlaceResult.opening_hours.isOpen() in Place Details. For Nearby Search and Text Search, use theopenNow:true request parameter to filter for places that are currently open.No equivalent is provided for Find Place.To get this value, you must now make a Place Details request.
  • Theutc_offsetfield has been replaced by PlaceResult.utc_offset_minutes in Place Details.

See Places Field Migration to learn more.


Maps JavaScript API:google.maps.event.addDomListener()andgoogle.maps.event.addDomListenerOnce()(Deprecated on April 7, 2022)

The functions[google.maps.event.addDomListener()](/maps/documentation/javascript/reference/event#event.addDomListener) and[google.maps.event.addDomListenerOnce()](/maps/documentation/javascript/reference/event#event.addDomListenerOnce) in the Maps JavaScript API are deprecated, and should not be used. Instead, use the standard addEventListener() method.

These methods will continue to work and there is no plan to decommission them.


Completed deprecations

This section lists all products and features which have been decommissioned. These products and features are no longer available.

Local Context Library, Maps JavaScript API (Deprecated as of v3.51.2)

Due to the limited adoption of this beta feature, Local Context Library was discontinued in January 2024.

If you are interested in building a Local Context Library-like experience yourself, we suggest that you check out the "Neighborhood Discovery" solution inQuick Builderor use thePlaces Library,Maps JavaScript API.Code samplesandcodelabs for the Places Library can help you.


Google Maps Platform gaming services (October 18, 2021 - December 31, 2022)

Since the introduction of our gaming services in 2018, we were proud to launch innovative new game experiences for developers. While we remain dedicated to supporting the developer community, we’ve decommissioned Google Maps Platform gaming services as of December 31, 2022 due to limited adoption.


Maps Module in google.load (October 13, 2020 -October 13, 2021)

The service that provided the "Maps" module forgoogle.load was deprecated as of October 13, 2020, and turned off on October 13, 2021. Subsequent requests to load the "Maps" module ingoogle.loadwill result in an error, and no map will load. See the Migration Guidefor more information.


Obsolete place IDs (March 16, 2021 - March 30, 2022)

On March 30, 2022, all Google Maps Platform APIs stopped accepting certain obsoleteplace IDs. After March 30, 2022, any requests made using obsolete place IDs are rejected and return error codeINVALID_REQUEST. To prevent user experience degradation, refresh all obsolete place IDs.


Maps SDK for iOS v2.5 and lower (January 2022 - January 2023)

The Maps SDK for iOS v2.5 and lower were decommissioned in January 2023 which raised the minimum OS supported by Maps SDK for iOS to iOS 8 and the minimum supported IDE to Xcode 8.

We encourage you tospecifyand usethe latest version of the Maps SDK for iOS.


Maps JavaScript API v2 (May 19, 2010 - May 26, 2021)

Version 2 of the Maps JavaScript API is no longer available as of May 26, 2021. As a result, your site's v2 maps will stop working, and will return JavaScript errors. To continue using maps on your site, migrate to the Maps JavaScript API v3. Learn more aboutupgrading Your Maps JavaScript API Application from v2 to v3.


Places fields:reference,id,alt_id,scope(September 3, 2019 - August 10, 2020)

The Places fieldsid,alt_id,andscopeare no longer available as of August 10, 2020. The Places fieldreferenceis deprecated, and should not be used.

  • Theidresponse field has been replaced by theplace_idresponse field.
  • Thereferenceresponse field has been replaced by theplace_idresponse, and should not be used.
  • thealt_idandscopefields have no equivalent, as they were only used for the Place Add service which was turned off in July 2018.

SeePlace field migrationfor details.


iOS version 10, ARMv7 32-bit architecture in Maps SDK for iOS 5.0

As ofMaps SDK for iOS version 5.0, iOS 10 and the ARMv7 32-bit architecture are no longer supported.

Places SDK for iOS

With the release of Places SDK for iOS 5.0, GMSCoordinateBoundsis decommissioned, replaced byGMSPlacesViewportInfo.

Fusion Tables Layer (Experimental) (December 3, 2018 - December 3, 2019)

The Fusion Tables Layer in the Maps JavaScript API was turned off on December 3, 2019, and is no longer available as of version 3.38 (3.37 is the last version to support fusion tables). Learn more.


Places SDKs for Android and iOS (January 29, 2019 - July 29, 2019)

Effective January 29, 2019, the upgraded Places SDKs for Android and iOS replaced the existing versions of the Places SDKs. The current versions of the Places SDK for iOS, the Places SDK for Android, and the Place Picker, were deprecated as of January 29, 2019, and were turned off on July 29, 2019.


Place Add and Place Delete (June 30, 2017 - June 30, 2018)

Effective June 30, 2018, the Place Add and Place Delete features have been turned off, and are no longer available.


Unsupported Place Search queries in the Places API and Places Library, Maps JavaScript API (March 31, 2022 - March 31, 2023)

Unsupported Place Search queries for Text Search, Nearby Search, and Find Place in the Places API and Places Library, Maps JavaScript API are deprecated as of March 31, 2022 and will receiveINVALID_REQUESTerror responses beginning on March 31, 2023.

ThePlaces API andPlaces Library, Maps JavaScript API support three methods to find places:Text Search, Nearby Search,and Find Place.Each method accepts requests with supported combinations of parameters, and rejects most requests with combinations of parameters that are not supported.

A few combinations of unsupported parameters have not been properly rejected to date:

  • Text Search requests with an empty or missingqueryparameter and without a supportedtypeparameter.
  • Text Search requests withquery=*.
  • Nearby Search requests withkeyword=*.
  • Nearby Search requests withname=*.
  • Find Place requests withinput=*.

These unsupported Place Search requests must be replaced with one of the following:

  • Nearby Searchrequests without thekeyword(orname) parameter can be used to find nearby establishments. It is recommended to also use thetypeparameter with one supported type (seeTable 1: Place types). This provides the closest match to the current behavior of Text Search requests with an empty or missingqueryparameter.

  • Geocoding API requests with thelatlngparameter can be used to find the nearest addresses. This provides the closest match to the current behavior of:

    • Text Search requests withquery=*.
    • Nearby Search requests withkeyword=*.
    • Nearby Search requests withname=*.
    • Find Place requests withinput=*.

Appendix 1: Summary of Places SDK for iOS deprecated API replacements

The following table shows the replacement method to use for each deprecated method or property.

Deprecated method/property Use instead
setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner
(inGMSAutocompleteViewController)
locationRestrictionand locationBias
setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner
(inGMSAutocompleteResultsViewController)
locationRestrictionand locationBias
setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner
(inGMSAutocompleteTableDataSource)
locationRestrictionand locationBias
initWithBounds:filter
(inGMSAutocompleteFetcher)
initWithFilter:
autocompleteBounds andautocompleteBoundsMode
(inGMSAutocompleteViewController)
GMSAutocompleteViewController.autocompleteFilter with eitherlocationBias orlocationRestriction.
findAutocompletePredictionsFromQuery:bounds:boundsMode:filter:SessionToken:callback, autocompleteQuery:bounds:filter:callback,and autocompleteQuery:bounds:boundsMode:filter:callback
(inGMSPlacesClient)
findAutocompletePredictionsFromQuery:filter:sessionToken:callback,with either locationBiasor locationRestriction.

The minimum version of the Places SDK for iOS with the replacement properties is v3.8.0.