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 thesetMetalRendererEnabled
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 removesetMetalRendererEnabled
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 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
theGoogleMapsM4B
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 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
GMSPlaceField
now uses theNS_OPTIONS
macro (As of v4.0.0)
Starting with Places SDK for iOS
v4.0.0,
GMSPlaceField
now uses theNS_OPTIONS
macro instead of
NS_ENUM
for better Swift support. Read more aboutMigrating to GMSPlaceField as NS_OPTIONS.
To continue usingGMSPlaceField
asNS_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.
GMSCoordinateBounds
in 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 followingGMSAutocompleteViewController
properties are deprecated:
GMSAutocompleteViewController.autocompleteBounds
GMSAutocompleteViewController.autocompleteBoundsMode
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 infindAutocompletePredictionsFromQuery
andautocompleteQuery
- Parameters
bounds
andboundsMode
for:
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.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 functionsGMSPlace.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 fieldpermanently_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 withbusiness_status
is
v3.40.
Places fieldsopen_now
,utc_offset
(Deprecated on November 20, 2019)
The Places fieldsopen_now
andutc_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()
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.load
will 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
,andscope
are no longer available as of
August 10, 2020. The Places fieldreference
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.
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,
GMSCoordinateBounds
is 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.
- 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
receiveINVALID_REQUEST
error 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 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 Searchrequests without the
keyword
(orname
) parameter can be used to find nearby establishments. It is recommended to also use thetype
parameter 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 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.