Введение
API Places (устаревшая версия) поддерживает текстовый поиск (устаревшая версия) . Если вы знакомы с текстовым поиском (устаревшая версия), текстовый поиск (новая версия) вносит следующие изменения:
- Текстовый поиск (новый) использует HTTP-запросы POST. Параметры передаются в теле запроса или в заголовках HTTP-запроса POST. В отличие от устаревшего текстового поиска, параметры URL передаются с помощью HTTP-запроса GET.
- Требуется маскирование полей. Необходимо указать, какие поля должны быть возвращены в ответе. Списка возвращаемых полей по умолчанию нет. Если этот список пропущен, методы вернут ошибку. Подробнее см. в разделе FieldMask .
- Текстовый поиск (новый) поддерживает как ключи API , так и токены OAuth в качестве механизма аутентификации.
- В текстовом поиске (новом) в качестве формата ответа поддерживается только JSON.
Текстовый поиск (устаревшая версия) позволяет указывать координаты широты и долготы в строке запроса. Например:
query=37.4239,-122.0925
. Эта возможность не поддерживается в текстовом поиске (новая версия).Используйте обратное геокодирование для поиска по координатам и возврата адреса или функцию поиска поблизости (новая), чтобы найти места вокруг определенного местоположения.
- Формат ответа JSON для текстового поиска (новый) изменился по сравнению с форматом устаревших API. Подробнее см. в статье «Миграция ответа API Places» .
В следующей таблице перечислены параметры текстового поиска (устаревшего), которые были переименованы или изменены для текстового поиска (нового), а также параметры, которые больше не поддерживаются.
Текущий параметр | Новый параметр | Примечания |
---|---|---|
evOptions | Новый параметр. | |
language | languageCode | |
location | locationBias | |
maxprice/minprice | priceLevels | |
opennow | openNow | |
pagetoken | pageToken | |
query | textQuery | Обязательно во всех запросах. |
radius | locationBias | Укажите радиус при определении locationBias . |
region | regionCode | |
type | includedType | Принимает только одно значение. |
strictTypeFiltering | Новый параметр. |
Пример запроса
В следующем примере GET-запроса используется текстовый поиск (устаревшая версия). В этом примере вы запрашиваете JSON-ответ, содержащий информацию о «Острой вегетарианской еде в Сиднее, Австралия», и передаёте все параметры как параметры URL:
curl -L -X GET \ 'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY
При использовании функции «Текстовый поиск (новый)» вы делаете POST-запрос и передаёте все параметры в теле JSON-запроса или в заголовках как часть POST-запроса. В этом примере также используется маска поля, поэтому ответ включает только отображаемое имя и форматированный адрес места:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -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:searchText'