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 informed about 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 about Maps JavaScript API version availability, which follows a quarterly release and decommissioning schedule.
See guidance on managing version dependencies with the Maps SDK for Android, Maps SDK for iOS, Places SDK for Android, and Places SDK for iOS.
Active deprecations
This section lists all products and features which are currently in a deprecation period.
Maps SDK for Android legacy renderer (Deprecated as of March 4, 2024)
To provide an improved user experience and app performance, apps built with the Maps SDK for Android have been automatically updated to the latest renderer. The legacy renderer is deprecated and is scheduled for decommissioning in March 2025.
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 the setMetalRendererEnabled
boolean 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 remove setMetalRendererEnabled
from 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 to opt-out of 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 styles to 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, use google.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
the GoogleMapsM4B
pod from the list of dependencies in your Podfile.
If you manually install the Maps SDK for iOS, remove the
GoogleMapsM4B framework
from 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 as com.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.
Follow the 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 the Versions 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 supporting old versions of an SDK.
Content Security Policy update (March 21, 2022 - May 2023)
Support for websites using Content Security Policy (CSP) that do not specify googleapis.com 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.com.
To avoid disruption of your website experience, specify googleapis.com in your CSP. All currently available versions of the Maps JavaScript API support CSP.
Places SDK for iOS
GMSPlaceField
now uses the NS_OPTIONS
macro (As of v4.0.0)
Starting with Places SDK for iOS
v4.0.0,
GMSPlaceField
now uses the NS_OPTIONS
macro instead of
NS_ENUM
for better Swift support. Read more about Migrating to GMSPlaceField as NS_OPTIONS.
To continue using GMSPlaceField
as NS_ENUM
, specify
v3.10.0
or earlier in your dependencies.
Places SDK for iOS methods: setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner, initWithBounds:filter (v3.10.0 - v4.0.0)
The setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner
helper method is deprecated as of
v3.10.0,
and is unsupported in
v4.0.0
and higher.
Instead, use locationBias
,
or locationRestriction
.
The initWithBounds:filter
method is deprecated as of
v3.10.0,
and is unsupported in
v4.0.0
and higher.
Instead, use initWithFilter:
in GMSAutocompleteFetcher
.
The maximum supporting version for these deprecated methods is v3.10.0.
For details about replacement methods, see Appendix 1.
GMSCoordinateBounds
in Place Autocomplete (v3.9.0 - v4.0.0)
Several properties/parameters utilizing GMSCoordinateBounds
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 in GMSAutocompleteViewController
The following GMSAutocompleteViewController
properties are deprecated:
GMSAutocompleteViewController.autocompleteBounds
GMSAutocompleteViewController.autocompleteBoundsMode
For equivalent functionality, use GMSAutocompleteViewController.autocompleteFilter
,
with either GMSAutocompleteFilter.locationBias
or GMSAutocompleteFilter.locationRestriction
.
The minimum version of the Places SDK for iOS with these replacement properties is
v3.8.0.
Bounds in findAutocompletePredictionsFromQuery
and autocompleteQuery
- Parameters
bounds
andboundsMode
for:
For equivalent functionality, use findAutocompletePredictionsFromQuery:filter:sessionToken:callback
with either GMSAutocompleteFilter.locationBias
or GMSAutocompleteFilter.locationRestriction
.
The minimum version of the Places SDK for iOS with these replacement properties is
v3.8.0.
For details about replacement methods, see Appendix 1.
Places field GMSPlace.openNowStatus
(v3.0.0 - v4.0.0)
The Places field/property GMSPlace.openNowStatus
in 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 functions GMSPlace.isOpen
or
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 field permanently_closed
in 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 with business_status
is
v3.40.
Places fields open_now
, utc_offset
(Deprecated on November 20, 2019)
The Places fields open_now
and utc_offset
in 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.
- The
open_now
field has been replaced byPlaceResult.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. - The
utc_offset
field has been replaced byPlaceResult.utc_offset_minutes
in Place Details.
See Places Field Migration to learn more.
Maps JavaScript API: google.maps.event.addDomListener()
and google.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 in Quick Builder or use the Places Library, Maps JavaScript API. Code samples and codelabs 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 for google.load
was deprecated as of October 13, 2020, and turned off
on October 13, 2021. Subsequent requests to load the "Maps"
module in google.load
will result in an error, and no map will load. See the
Migration Guide for
more information.
Obsolete place IDs (March 16, 2021 - March 30, 2022)
On March 30, 2022, all Google Maps Platform APIs stopped
accepting certain obsolete place IDs.
After March 30, 2022, any requests made using obsolete
place IDs are rejected and return error code INVALID_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 to specify and use the 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 about upgrading Your Maps JavaScript API Application from v2 to v3.
Places fields: reference
, id
, alt_id
, scope
(September 3, 2019 - August 10, 2020)
The Places fields id
, alt_id
, and scope
are no longer available as of
August 10, 2020. The Places field reference
is deprecated, and should not be
used.
- The
id
response field has been replaced by theplace_id
response field. - The
reference
response field has been replaced by theplace_id
response, and should not be used. - the
alt_id
andscope
fields have no equivalent, as they were only used for the Place Add service which was turned off in July 2018.
See Place field migration for details.
iOS version 10, ARMv7 32-bit architecture in Maps SDK for iOS 5.0
As of Maps 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,
GMSCoordinateBounds
is decommissioned, replaced by GMSPlacesViewportInfo
.
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.
- Update to the latest Places SDK for iOS version.
- Update to the latest Places SDK for Android version.
- The Place Picker is no longer available as of 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
receive INVALID_REQUEST
error responses beginning on March 31, 2023.
The Places API and Places 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 missing
query
parameter and without a supportedtype
parameter. - Text Search requests with
query=*
. - Nearby Search requests with
keyword=*
. - Nearby Search requests with
name=*
. - Find Place requests with
input=*
.
These unsupported Place Search requests must be replaced with one of the following:
Nearby Search requests without the
keyword
(orname
) parameter can be used to find nearby establishments. It is recommended to also use thetype
parameter with one supported type (see Table 1: Place types). This provides the closest match to the current behavior of Text Search requests with an empty or missingquery
parameter.Geocoding API requests with the
latlng
parameter can be used to find the nearest addresses. This provides the closest match to the current behavior of:- Text Search requests with
query=*
. - Nearby Search requests with
keyword=*
. - Nearby Search requests with
name=*
. - Find Place requests with
input=*
.
- Text Search requests with
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.
The minimum version of the Places SDK for iOS with the replacement properties is v3.8.0.