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