Введение
Places API поддерживает поиск поблизости (прежняя версия). Если вы знакомы с устаревшим поиском поблизости, то в новом поиске поблизости вы заметите следующие изменения:
- Nearby Search (New) использует HTTP-запросы POST. Передавайте параметры в теле запроса или в заголовках в составе HTTP-запроса POST. В отличие от этого, в Nearby Search (Legacy) параметры URL передаются с помощью HTTP-запроса GET.
- Необходимо использовать маску поля. В ответе должны быть указаны поля, которые вы хотите получить. Список возвращаемых полей по умолчанию отсутствует. Если вы не укажете этот список, методы вернут ошибку. Подробнее FieldMask…
- Новый метод поиска поблизости поддерживает в качестве механизма аутентификации как ключи API, так и токены OAuth.
- В новом поиске поблизости поддерживается только формат JSON.
- Во всех запросах, содержащих текстовый запрос, теперь следует использовать новый текстовый поиск, поскольку новый поиск поблизости не поддерживает ввод текста.
- Формат ответа JSON для поиска поблизости (New) отличается от формата устаревших API. Подробнее о том, как перенести ответ Places API…
В таблице ниже перечислены параметры устаревшего поиска поблизости, которые были переименованы или изменены в новом поиске поблизости, а также параметры, которые больше не поддерживаются.
| Текущий параметр | Новые параметры | Примечания |
|---|---|---|
keyword |
Не поддерживается. Используйте вместо него новую версию текстового поиска. | |
language |
languageCode |
|
location |
locationRestriction |
Обязательно. |
maxprice/minprice |
|
Не поддерживается. |
maxResultCount |
Новый параметр. | |
opennow |
|
Не поддерживается. |
pagetoken |
Не поддерживается. | |
radius |
|
Используйте locationRestriction сейчас. |
rankby |
rankPreference |
|
regionCode |
Новый параметр. | |
type |
includedTypesexcludedTypesincludedPrimaryTypesexcludedPrimaryTypes
|
Новые параметры также принимают несколько значений типа. Устаревший API принимает только одно значение. |
Пример запроса
В приведенном ниже примере GET-запроса используется устаревший сервис поиска поблизости. В этом примере вы запрашиваете ответ в формате JSON, содержащий информацию о местах типа restaurant, и передаете все параметры в виде параметров URL:
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'
В новом поиске поблизости вы создаете запрос POST и передаете все параметры в теле запроса JSON или в заголовках в составе запроса POST. В этом примере также используется маска поля, поэтому ответ содержит только отображаемое название и отформатированный адрес места:
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