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

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

Введение

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'