Places API supports the existing Nearby Search. If you are familiar with the existing Nearby Search, the new version of Nearby Search makes the following changes:
- The new Nearby Search uses HTTP POST requests. Pass parameters in the request body or in headers as part of an HTTP POST request. In contrast, with the existing Nearby Search, you pass URL parameters using an HTTP GET request.
- Field masking is required. You must specify which fields you want returned in the response. There is no default list of returned fields. If you omit this list, the methods return an error. For more information, see FieldMask.
- The new Nearby Search supports both API keys and OAuth tokens as the authentication mechanism.
- Only JSON is supported as a response format in the new Nearby Search.
- All requests that include a text query should now use Text Search (New) because Nearby Search (New) does not support text input.
- The JSON response format for the Nearby Search (New) API has changed from the format of the existing APIs. For more details, see Migrate the Places API response.
The following table lists parameters in the existing Nearby Search that have been renamed or modified for the new Nearby Search, or parameters that are no longer supported.
Current parameter | New parameter | Notes |
---|---|---|
keyword |
Not supported. Use Text Search (New) instead. | |
language |
languageCode |
|
location |
locationRestriction |
Required. |
maxprice/minprice |
|
Not supported. |
maxResultCount |
New parameter. | |
opennow |
|
Not supported. |
pagetoken |
Not supported. | |
radius |
|
Use locationRestriction now. |
rankby |
rankPreference |
|
regionCode |
New parameter. | |
type |
includedTypes excludedTypes includedPrimaryTypes excludedPrimaryTypes
|
The new parameters also accept multiple type values. The existing API only accepts a single value. |
Example request
The following example GET request uses the existing
Nearby Search. In this example, you request a JSON
response containing information about places of type restaurant
and pass all
parameters as URL parameters:
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'
With Nearby Search (New), you make a POST request and pass all parameters in the JSON request body or in headers as part of the POST request. This example also uses a field mask so the response only includes the display name and formatted address of the place:
curl -X POST -d '{ "includedTypes": ["restaurant"], "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ https://places.googleapis.com/v1/places:searchNearby