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