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

API Places поддерживает существующий текстовый поиск . Если вы знакомы с существующим текстовым поиском, новая версия текстового поиска вносит следующие изменения:

  • Новый текстовый поиск использует запросы HTTP POST. Передавайте параметры в теле запроса или в заголовках как часть запроса HTTP POST. Напротив, при существующем текстовом поиске параметры URL-адреса передаются с помощью HTTP-запроса GET.
  • Требуется маскировка полей. Вы должны указать, какие поля вы хотите вернуть в ответе. Не существует списка возвращаемых полей по умолчанию. Если вы опустите этот список, методы вернут ошибку. Для получения дополнительной информации см. FieldMask .
  • Новый текстовый поиск поддерживает как ключи API , так и токены OAuth в качестве механизма аутентификации.
  • В новом текстовом поиске в качестве формата ответа поддерживается только JSON.
  • Существующий текстовый поиск позволяет указать координаты широты и долготы в строке запроса. Например: query=37.4239,-122.0925 . Эта опция не поддерживается в новом текстовом поиске.

    Используйте обратное геокодирование для поиска по координатам и возврата адреса или поиск поблизости (новое), чтобы найти места вокруг определенного местоположения.

  • Формат ответа JSON для API текстового поиска (новый) изменился по сравнению с форматом существующих API. Дополнительные сведения см. в разделе Миграция ответа Places API .

В следующей таблице перечислены параметры существующего текстового поиска, которые были переименованы или изменены для нового текстового поиска, а также параметры, которые больше не поддерживаются.

Текущий параметр Новый параметр Примечания
evOptions Новый параметр.
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
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'