Введение
Places API поддерживает поиск поблизости (устаревший). Если вы знакомы с устаревшей версией Nearby Search, то в новой версии вы заметите следующие изменения:
- Новый поиск поблизости использует запросы HTTP POST. Передавайте параметры в теле запроса или в заголовках в рамках HTTP-запроса POST. В отличие от этого, в Nearby Search (Legacy) параметры URL передаются с помощью HTTP-запроса GET.
- Необходимо использовать маски полей. Вы должны указать, какие поля хотите получить в ответе. Список возвращаемых полей по умолчанию отсутствует. Если вы не укажете этот список, методы вернут ошибку. Подробную информацию можно найти в статье FieldMask.
- Новый поиск поблизости поддерживает в качестве механизма аутентификации как ключи API, так и токены OAuth.
- В ответах на запросы к новому сервису Nearby Search поддерживается только формат JSON.
- Все запросы, включающие текстовый запрос, теперь должны использовать Text Search (New), поскольку Nearby Search (New) не поддерживает текстовый ввод.
- Формат ответа JSON для Nearby Search (New) отличается от формата устаревших API. Подробнее о том, как перенести ответ Places API…
В таблице ниже перечислены параметры Nearby Search (Legacy), которые были переименованы или изменены в Nearby Search (New), а также параметры, которые больше не поддерживаются.
| Текущий параметр | Новые параметры | Примечания |
|---|---|---|
keyword |
Не поддерживается. Вместо него используйте текстовый поиск (New). | |
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'
В новом Nearby Search вы отправляете запрос 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