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](https://developers.google.com/maps/support#staying_informed)
about major updates, deprecations, and other changes.

> [!IMPORTANT]
> **Key Term:** *Deprecated* indicates that the product or feature should no longer be used. Reasons for this may include:
>
> - A better alternative is available.
> - The product or feature is nearing or at end of support.
> - The product or feature is scheduled for decommissioning.

> [!IMPORTANT]
> **Key Term:** *Decommissioned* indicates that the product or feature is no longer available. Calling decommissioned software can result in unpredictable behavior or invalid responses.

### 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](https://developers.google.com/maps/documentation/javascript/versions), which follows a
quarterly release and decommissioning schedule.

See guidance on managing version dependencies with the [Maps SDK for Android](https://developers.google.com/maps/documentation/android-sdk/versions.md.txt), [Maps SDK for iOS](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt), [Places SDK for Android](https://developers.google.com/maps/documentation/places/android-sdk/versions.md.txt), and [Places SDK for iOS](https://developers.google.com/maps/documentation/places/ios-sdk/versions.md.txt).

## Active deprecations

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

*** ** * ** ***

### gmp-place-content-config in the Maps JavaScript API Places UI Kit (Deprecated as of October 2026)

The `<gmp-place-content-config>` element (`PlaceContentConfigElement`) is
deprecated as of 3.66.11a. Instead, add content elements directly to the Place
Details elements, or put them in a `<template slot="details-item">` element in
the Place Search element. For details, see [Configure the content for Place
Details](https://developers.google.com/maps/documentation/javascript/places-ui-kit/place-details#details-content-config)
and [Configure the content for Place
Search](https://developers.google.com/maps/documentation/javascript/places-ui-kit/place-search#configure-content).

`<gmp-place-content-config>` continues to work and isn't scheduled to be
discontinued. At least 12 months notice will be given before support is
discontinued.

*** ** * ** ***

### KML Layer (Deprecated as of April 30, 2026)

The `KmlLayer` functionality in the Maps JavaScript API is no longer available.
Use alternative methods to display KML data on the map. See the
[KML Layer Migration Guide](https://developers.google.com/maps/comms/kml-layer-migration.md.txt) for details.

- **Data-driven styling for datasets** : Upload your KML data as a dataset and use data-driven styling. Read the [Datasets
  Overview](https://developers.google.com/maps/documentation/javascript/dds-datasets/overview).
- **Third-party libraries**: Use third-party libraries to parse KML and display it using the Data layer or other overlays.

*** ** * ** ***

### Heatmap Layer (Deprecated as of May 27, 2025)

The Heatmap Layer functionality in the Maps JavaScript API is no longer supported due to low customer
usage. This API was deprecated in May 2025 and is unavailable as of May 2026.

Applications currently using the Heatmap Layer to display heatmaps based on data points will need to be updated.

As a replacement for the Heatmap Layer, consider using third-party library integrations like deck.gl, which offers a HeatmapLayer implementation. You can find more information in the [deck.gl documentation](https://deck.gl/docs/api-reference/aggregation-layers/heatmap-layer).

*** ** * ** ***

### 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](https://developers.google.com/maps/documentation/android-sdk/renderer). The legacy renderer is
deprecated and is scheduled for decommissioning in April 2025. Follow
the decommissioning progress in public issue
[404999856](https://issuetracker.google.com/issues/404999856).

*** ** * ** ***

### 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.

*** ** * ** ***

### 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](https://developers.google.com/maps/documentation/javascript/advanced-markers/migration.md.txt).
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 won't 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. 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](https://developers.google.com/maps/documentation/places/android-sdk/client-migration) 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](https://developers.google.com/maps/documentation/places/android-sdk/versions.md.txt) 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](https://developers.google.com/maps/software-support#sdk-support).

*** ** * ** ***

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

Support for websites using [Content Security Policy
(CSP)](https://csp.withgoogle.com/) that don't 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 don't specify googleapis.com.

To avoid disruption of your website experience, [specify googleapis.com in your
CSP](https://developers.google.com/maps/documentation/javascript/content-security-policy). 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](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-10-13), `GMSPlaceField` now uses the
`NS_OPTIONS` macro instead of `NS_ENUM` for better Swift support. Read more
about [Migrating to GMSPlaceField as
NS_OPTIONS](https://developers.google.com/maps/documentation/places/ios-sdk/migrate-nsoptions).

To continue using `GMSPlaceField` as `NS_ENUM`, specify [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10) or earlier in your
[dependencies](https://developers.google.com/maps/documentation/places/ios-sdk/versions.md.txt#installation).

*** ** * ** ***

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

The
[`setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_results_view_controller#aadb1323be3d90dcc4c068f58acd8b371)
helper method is deprecated as of [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10), and is unsupported in
[v4.0.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-10-13)
and higher. Instead, use
[`locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5),
or
[`locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6).

The
[`initWithBounds:filter`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_fetcher#a44c0072a1b028fd6901e2ea072ca536b)
method is deprecated as of [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10), and is unsupported in
[v4.0.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-10-13) and higher. Instead, use
[`initWithFilter:`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_fetcher#a10708628d7828320e51d1b3d07b808d5)
in `GMSAutocompleteFetcher`.

The maximum supporting version for these deprecated methods is [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10).

For details about replacement methods, see [Appendix
1](https://developers.google.com/maps/deprecations#places-v4-deprecation-table).

*** ** * ** ***

### `GMSCoordinateBounds` in Place Autocomplete (v3.9.0 - v4.0.0)

Several properties andparameters using
[`GMSCoordinateBounds`](https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_coordinate_bounds)
in the Places SDK for iOS Autocomplete service, are deprecated as of
[v3.9.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-05-26), and are unsupported in
[v4.0.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-10-13)
and higher. The maximum supporting version for the deprecated
properties and parameters is [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10).

#### Bounds in `GMSAutocompleteViewController`

The following `GMSAutocompleteViewController` properties are deprecated:

- [`GMSAutocompleteViewController.autocompleteBounds`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller#a65482d86732910ff07a2827b6d181dc5)
- [`GMSAutocompleteViewController.autocompleteBoundsMode`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller#ab014cba599c0c8e505a6048355f19717)

For equivalent functionality, use
[`GMSAutocompleteViewController.autocompleteFilter`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter),
with either
[`GMSAutocompleteFilter.locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5)
or
[`GMSAutocompleteFilter.locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6).
The minimum version of the Places SDK for iOS with these
replacement properties is v3.8.0.

#### Bounds in `findAutocompletePredictionsFromQuery` and `autocompleteQuery`

- Parameters `bounds` and `boundsMode` for:
  - [`findAutocompletePredictionsFromQuery:bounds:boundsMode:filter:SessionToken:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#a4cf5b994031d463bd2f680e1444d41f0) - [`autocompleteQuery:bounds:filter:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#a39694263d21c975c1b4d7e2e270d3fd7)
  - [`autocompleteQuery:bounds:boundsMode:filter:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#add5fd8c661adb792def59902ddfc9ec2)

For equivalent functionality, use
[`findAutocompletePredictionsFromQuery:filter:sessionToken:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#ab60773feec0e68751c5a7f1066b9d252)
with either
[`GMSAutocompleteFilter.locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5)
or
[`GMSAutocompleteFilter.locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6).
The minimum version of the Places SDK for iOS with these
replacement properties is [v3.8.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10).

For details about replacement methods, see [Appendix
1](https://developers.google.com/maps/deprecations#places-v4-deprecation-table).

*** ** * ** ***

### Places field `GMSPlace.openNowStatus` (v3.0.0 - v4.0.0)

The Places field and property `GMSPlace.openNowStatus` in the
Places SDK for iOS is deprecated as of [v3.0.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2019-01-29), and is unsupported in [v4.0.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-10-13) and higher. The maximum
supporting version for the deprecated field is [v3.10.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10).

Instead, use functions [`GMSPlace.isOpen` or
`GMSPlace.isOpenAtDate`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_place#public-member-functions).
The minimum version of the Places SDK for iOS with these replacement functions
is [v3.3.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2019-07-29).

*** ** * ** ***

### 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 shouldn't be used.
Instead, use
[`business_status`
(Places API)](https://developers.google.com/maps/documentation/places/web-service/details#fields) or
[`business_status`
(Places Library)](https://developers.google.com/maps/documentation/javascript/places#place_details_fields)
to get the operational status of businesses. The minimum version of
Places Library, Maps JavaScript API with `business_status` is
[v3.40](https://developers.google.com/maps/documentation/javascript/releases-archive.md.txt#3.40.11).

*** ** * ** ***

### 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 shouldn't be used.

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

- The `open_now` field has been replaced by [`PlaceResult.opening_hours.isOpen()`](https://developers.google.com/maps/documentation/javascript/reference/places-service.md.txt#PlaceOpeningHours.isOpen) in Place Details. For Nearby Search and Text Search, use the `openNow: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 by [`PlaceResult.utc_offset_minutes`](https://developers.google.com/maps/documentation/javascript/reference/places-service.md.txt#PlaceResult.utc_offset_minutes) in Place Details.

See [Places Field
Migration](https://developers.google.com/maps/documentation/javascript/place_field_js_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()`](https://developers.google.com/maps/documentation/javascript/reference/event.md.txt#event.addDomListener)
and
[`google.maps.event.addDomListenerOnce()`](https://developers.google.com/maps/documentation/javascript/reference/event.md.txt#event.addDomListenerOnce)
in the Maps JavaScript API are deprecated, and shouldn't be
used. Instead, use the standard
[addEventListener()](https://developer.mozilla.org/docs/Web/API/EventTarget/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.

### Drawing Library (May 2026)

Drawing Library functionality in the Maps JavaScript API is no longer supported. This API was deprecated in August 2025 and is unavailable as of May 2026. Customers and applications relying on Drawing Library for their use cases need to switch to using alternatives, for example [Terra Draw](https://developers.google.com/maps/documentation/javascript/examples/map-drawing-terradraw.md.txt).

*** ** * ** ***

### 45° Imagery (May 2026)

As of version 3.65, released in May 2026, Maps JavaScript API satellite and
hybrid map types no longer automatically switch to 45° Imagery at higher zoom
levels. Where 45° Imagery is available, the map shows the top-down satellite
view even as the user zooms in. Calls to map.setTilt(45) are also ineffective.
Customers and applications relying on 45° Imagery for their use cases need to
switch to alternatives, for example [3D
maps](https://developers.google.com/maps/documentation/javascript/3d/overview).

*** ** * ** ***

### 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](https://mapsplatform.google.com/resources/quick-builder/) or use the
[Places Library](https://developers.google.com/maps/documentation/javascript/places), Maps JavaScript API.
[Code samples](https://developers.google.com/maps/documentation/javascript/examples.md.txt#places) and
[codelabs](https://codelabs.developers.google.com/?product=googlemapsplatform&text=places)
for the Places Library can help you.

*** ** * ** ***

### Legacy cloud-based maps styling (March 18, 2024 - March 25, 2025)

On March 25, 2025 the legacy map styles automatically migrated to the
next-generation of cloud-based maps styling. Some styling changes may
result from this automatic migration.

See [Update a map style to the latest
version](https://developers.google.com/maps/documentation/javascript/cloud-customization/update-legacy) to
avoid any disruption in your map styles.

*** ** * ** ***

### 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`](https://support.google.com/code/answer/74501)
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](https://developers.google.com/maps/documentation/javascript/google-loader-migration.md.txt) for
more information.

*** ** * ** ***

### Obsolete place IDs (March 16, 2021 - January 13, 2025)

As of January 13, 2025, certain obsolete [place IDs](https://developers.google.com/maps/documentation/places/web-service/place-id.md.txt)
are no longer accepted by all Google Maps Platform APIs other than Places API
(legacy), Maps Embed, NavSDK, and Maps URLs. After
January 13, 2025, 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](https://developers.google.com/maps/documentation/places/web-service/place-id#save-id).

*** ** * ** ***

### 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.

Google encourages you to [specify](https://developers.google.com/maps/documentation/ios-sdk/versions.md.txt#installation)
and use [the latest version of the Maps SDK for
iOS](https://developers.google.com/maps/documentation/ios-sdk/release-notes).

*** ** * ** ***

### 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](https://developers.google.com/maps/documentation/javascript/v2tov3).

*** ** * ** ***

### 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 shouldn't be
used.

- The `id` response field has been replaced by the `place_id` response field.
- The `reference` response field has been replaced by the `place_id` response, and shouldn't be used.
- the `alt_id` and `scope` 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](https://developers.google.com/maps/documentation/places/web-service/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](https://developers.google.com/maps/documentation/ios-sdk/releases), 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](https://developers.google.com/maps/documentation/places/ios-sdk/releases), `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](https://support.google.com/fusiontables/answer/9185417).

*** ** * ** ***

### 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](https://developers.google.com/maps/documentation/places/ios-sdk/client-migration).
- [Update to the latest Places SDK for Android
  version](https://developers.google.com/maps/documentation/places/android-sdk/client-migration).
- 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](https://developers.google.com/maps/documentation/places/web-service) and [Places Library, Maps JavaScript API](https://developers.google.com/maps/documentation/javascript/places)
support three methods to find places: [Text
Search](https://developers.google.com/places/web-service/search-text), [Nearby
Search](https://developers.google.com/documentation/places/web-service/search-nearby), and [Find
Place](https://developers.google.com/maps/documentation/places/web-service/search-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 supported `type` 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](https://developers.google.com/documentation/places/web-service/search-nearby) requests
  without the `keyword` (or `name`) parameter can be used to find nearby
  establishments. It is recommended to also use the `type` parameter with one
  supported type (see [Table 1: Place
  types](https://developers.google.com/maps/documentation/places/web-service/supported_types#table1)). This
  provides the closest match to the current behavior of Text Search requests
  with an empty or missing `query` parameter.

- [Geocoding API](https://developers.google.com/maps/documentation/geocoding/requests-reverse-geocoding)
  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=*`.

*** ** * ** ***

## 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`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller#ac06dcda1d3c7b0f5482e6dd354faee30) (in [`GMSAutocompleteViewController`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller)) | [`locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6) and [`locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5) |
| [`setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_results_view_controller#aadb1323be3d90dcc4c068f58acd8b371) (in [`GMSAutocompleteResultsViewController`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_results_view_controller)) | [`locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6) and [`locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5) |
| [`setAutocompleteBoundsUsingNorthEastCorner:SouthWestCorner`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_table_data_source#a8ee6c557eeb95c342be170587374b5bc) (in [`GMSAutocompleteTableDataSource`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_table_data_source)) | [`locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6) and [`locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5) |
| [`initWithBounds:filter`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_fetcher#a44c0072a1b028fd6901e2ea072ca536b) (in [`GMSAutocompleteFetcher`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_fetcher)) | [`initWithFilter:`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_fetcher#a10708628d7828320e51d1b3d07b808d5) |
| `autocompleteBounds` and [`autocompleteBoundsMode`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller#ab014cba599c0c8e505a6048355f19717) (in [`GMSAutocompleteViewController`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_view_controller)) | `GMSAutocompleteViewController.autocompleteFilter` with either `locationBias` or `locationRestriction`. |
| [`findAutocompletePredictionsFromQuery:bounds:boundsMode:filter:SessionToken:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#a4cf5b994031d463bd2f680e1444d41f0), [`autocompleteQuery:bounds:filter:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#a39694263d21c975c1b4d7e2e270d3fd7), and [`autocompleteQuery:bounds:boundsMode:filter:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#add5fd8c661adb792def59902ddfc9ec2) (in [`GMSPlacesClient`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client)) | [`findAutocompletePredictionsFromQuery:filter:sessionToken:callback`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_places_client#ab60773feec0e68751c5a7f1066b9d252), with either [`locationBias`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#af207d0926dc8f294598631125a79a4d5) or [`locationRestriction`](https://developers.google.com/maps/documentation/places/ios-sdk/reference/interface_g_m_s_autocomplete_filter#adaf2a7ee97a6c127d35cf85e301034a6). |

The minimum version of the Places SDK for iOS with the
replacement properties is [v3.8.0](https://developers.google.com/maps/documentation/places/ios-sdk/release-notes-archive.md.txt#2020-08-10).