Переход на текстовый поиск (новинка)

Разработчики из Европейской экономической зоны (ЕЭЗ)

Введение

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'