Введение
Places API поддерживает API автозаполнения мест (устаревшее) и Query Autocomplete (Legacy). Если вы знакомы с этими API, то заметите следующие изменения в Autocomplete (New):
- Новый сервис автозаполнения использует HTTP-запросы POST. Передавайте параметры в теле запроса или в заголовках в составе HTTP-запроса POST. В отличие от устаревших API, в новом API параметры URL передаются с помощью HTTP-запроса GET.
- Новая версия API автозаполнения поддерживает в качестве механизма аутентификации как ключи API, так и токены OAuth.
- В Autocomplete (New) в качестве формата ответа поддерживается только JSON.
В таблице ниже перечислены параметры автозаполнения мест (старая версия) и Query Autocomplete (старая версия), которые были переименованы или изменены в Autocomplete (новая версия), а также параметры, которые больше не поддерживаются.
| Текущий параметр | Новые параметры | Примечания |
|---|---|---|
components |
includedRegionCodes |
|
language |
languageCode |
|
location |
locationBias |
|
ipbias |
Если вы не укажете ни locationBias, ни locationRestriction, API по умолчанию будет использовать смещение на основе IP-адреса. |
|
offset |
inputOffset |
|
radius |
locationBias или locationRestriction |
|
region |
regionCode |
|
stricbounds |
locationRestriction |
|
sessiontoken |
sessionToken |
|
types |
includedPrimaryTypes |
Пример запроса
В приведенном ниже примере GET-запроса используется устаревшая версия автозаполнения мест. В этом примере вы запрашиваете ответ в формате JSON, содержащий информацию о местах под названием "Амеба" типа establishment, и передаете все параметры в виде параметров URL:
curl -L -X GET 'https://maps.googleapis.com/maps/api/place/autocomplete/json?input=amoeba&types=establishment&location=37.76999%2C-122.44696&radius=500&key=YOUR_API_KEY'
В новом сервисе автозаполнения вы отправляете запрос POST и передаете все параметры в теле запроса JSON или в заголовках как часть запроса POST.
Маски полей не требуются для запросов Autocomplete (New), но их можно использовать, чтобы отфильтровать определенные результаты в ответе. Например, в следующем запросе используется маска поля, поэтому ответ содержит только suggestions.placePrediction.text предложенного варианта:
curl -X POST -d '{
"input": "Amoeba",
"locationBias": {
"circle": {
"center": {
"latitude": 37.76999,
"longitude": -122.44696
},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: suggestions.placePrediction.text' \
https://places.googleapis.com/v1/places:autocomplete
Подробнее о том, как использовать маски полей, рассказывается в статье Информация о местах (новый продукт).