Method: places.autocomplete

Возвращает прогнозы для заданных входных данных.

HTTP-запрос

POST https://places.googleapis.com/v1/places:autocomplete

URL-адрес использует синтаксис транскодирования gRPC .

Тело запроса

Тело запроса содержит данные следующей структуры:

JSON-представление
{
  "input": string,
  "locationBias": {
    object (LocationBias)
  },
  "locationRestriction": {
    object (LocationRestriction)
  },
  "includedPrimaryTypes": [
    string
  ],
  "includedRegionCodes": [
    string
  ],
  "languageCode": string,
  "regionCode": string,
  "origin": {
    object (LatLng)
  },
  "inputOffset": integer,
  "includeQueryPredictions": boolean,
  "sessionToken": string,
  "includePureServiceAreaBusinesses": boolean
}
Поля
input

string

Необходимый. Текстовая строка, по которой осуществляется поиск.

location Bias

object ( LocationBias )

Необязательный. Смещение результатов в указанное место.

Должен быть установлен не более одного из locationBias или locationRestriction . Если ни один из них не установлен, результаты будут смещены в зависимости от IP-адреса, то есть IP-адрес будет сопоставлен с неточным местоположением и использован в качестве сигнала смещения.

location Restriction

object ( LocationRestriction )

Необязательный. Ограничить результаты указанным местоположением.

Должен быть установлен не более одного из locationBias или locationRestriction . Если ни один из них не установлен, результаты будут смещены в зависимости от IP-адреса, то есть IP-адрес будет сопоставлен с неточным местоположением и использован в качестве сигнала смещения.

included Primary Types[]

string

Необязательный. Включен основной тип места (например, «ресторан» или «заправочная станция») в типы мест ( https://developers.google.com/maps/documentation/places/web-service/place-types) или только (regions) , или только (cities) . Место возвращается только в том случае, если его основной тип включен в этот список. Можно указать до 5 значений. Если типы не указаны, возвращаются все типы мест.

included Region Codes[]

string

Необязательный. Включайте результаты только в указанных регионах, указанных в виде до 15 двухсимвольных кодов регионов CLDR. Пустой набор не будет ограничивать результаты. Если установлены оба locationRestriction и includedRegionCodes , результаты будут расположены в области пересечения.

language Code

string

Необязательный. Язык, на котором возвращаются результаты. По умолчанию — en-US. Результаты могут быть на смешанных языках, если язык, используемый во input отличается от languageCode или если возвращаемое Place не имеет перевода с локального языка на languageCode .

region Code

string

Необязательный. Код региона в виде двухсимвольного кода региона CLDR. Это влияет на форматирование адреса, ранжирование результатов и может влиять на возвращаемые результаты. Это не ограничивает результаты указанным регионом. Чтобы ограничить результаты регионом, используйте region_code_restriction .

origin

object ( LatLng )

Необязательный. Исходная точка, от которой рассчитывается геодезическое расстояние до пункта назначения (возвращается как distanceMeters ). Если это значение опущено, геодезическое расстояние не будет возвращено.

input Offset

integer

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

Если пусто, по умолчанию используется длина input .

include Query Predictions

boolean

Необязательный. Если это правда, ответ будет включать в себя как прогнозы места, так и запроса. В противном случае ответ вернет только прогнозы мест.

session Token

string

Необязательный. Строка, которая идентифицирует сеанс автозаполнения для целей выставления счетов. Должна быть строкой в ​​формате Base64, безопасной для URL и имени файла, длиной не более 36 символов ASCII. В противном случае возвращается ошибка INVALID_ARGUMENT.

Сеанс начинается, когда пользователь начинает вводить запрос, и завершается, когда он выбирает место и выполняет вызов функции Place Details или проверки адреса. В каждом сеансе может быть несколько запросов, за которыми следует один запрос на информацию о месте или проверку адреса. Учетные данные, используемые для каждого запроса в рамках сеанса, должны принадлежать одному и тому же проекту Google Cloud Console. После завершения сеанса токен больше не действителен; ваше приложение должно генерировать новый токен для каждого сеанса. Если параметр sessionToken опущен или если вы повторно используете токен сеанса, сеанс взимается так, как если бы токен сеанса не был предоставлен (каждый запрос оплачивается отдельно).

Мы рекомендуем следующие рекомендации:

  • Используйте токены сеанса для всех вызовов Place Autocomplete.
  • Генерируйте новый токен для каждого сеанса. Рекомендуется использовать UUID версии 4.
  • Убедитесь, что учетные данные, используемые для всех запросов автозаполнения места, сведений о месте и проверки адреса в рамках сеанса, принадлежат одному и тому же проекту Cloud Console.
  • Обязательно передавайте уникальный токен сеанса для каждого нового сеанса. Использование одного и того же токена для нескольких сеансов приведет к тому, что каждый запрос будет оплачиваться индивидуально.
include Pure Service Area Businesses

boolean

Необязательный. Включите компании, работающие исключительно в зоне обслуживания, если для поля установлено значение true. Бизнес с чистой зоной обслуживания — это бизнес, который посещает клиентов или доставляет их напрямую, но не обслуживает клиентов по их служебному адресу. Например, такие предприятия, как клининговые услуги или сантехника. У этих компаний нет физического адреса или местоположения на Картах Google. Места не будут возвращать поля, включая location , plusCode и другие поля, связанные с местоположением, для этих компаний.

Тело ответа

Прототип ответа для Places.autocomplete.

В случае успеха тело ответа содержит данные следующей структуры:

JSON-представление
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Поля
suggestions[]

object ( Suggestion )

Содержит список предложений, упорядоченных по убыванию релевантности.

Предвзятость местоположения

Регион для поиска. Результаты могут быть смещены в зависимости от указанного региона.

JSON-представление
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Поля

type поля объединения.

type может быть только одним из следующих:

rectangle

object ( Viewport )

Окно просмотра определяется северо-восточным и юго-западным углами.

circle

object ( Circle )

Круг, определяемый центральной точкой и радиусом.

Ограничение местоположения

Регион для поиска. Результаты будут ограничены указанным регионом.

JSON-представление
{

  // Union field type can be only one of the following:
  "rectangle": {
    object (Viewport)
  },
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
Поля

type поля объединения.

type может быть только одним из следующих:

rectangle

object ( Viewport )

Окно просмотра определяется северо-восточным и юго-западным углами.

circle

object ( Circle )

Круг, определяемый центральной точкой и радиусом.

Предположение

Результат автозаполнения.

JSON-представление
{

  // Union field kind can be only one of the following:
  "placePrediction": {
    object (PlacePrediction)
  },
  "queryPrediction": {
    object (QueryPrediction)
  }
  // End of list of possible types for union field kind.
}
Поля

kind поля Союза.

kind может быть только одним из следующих:

place Prediction

object ( PlacePrediction )

Предсказание для места.

query Prediction

object ( QueryPrediction )

Прогноз для запроса.

МестоПредсказание

Результаты прогнозирования для подсказки автозаполнения места.

JSON-представление
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Поля
place

string

Имя ресурса предлагаемого места. Это имя можно использовать в других API, которые принимают названия мест.

place Id

string

Уникальный идентификатор предлагаемого места. Этот идентификатор можно использовать в других API, которые принимают идентификаторы мест.

text

object ( FormattableText )

Содержит удобочитаемое имя возвращаемого результата. Для результатов учреждения это обычно название компании и адрес.

text рекомендуется разработчикам, которые хотят показать один элемент пользовательского интерфейса. Разработчики, которые хотят показать два отдельных, но связанных элемента пользовательского интерфейса, могут вместо этого использовать structuredFormat . Это два разных способа представления предсказания места. Пользователям не следует пытаться преобразовать structuredFormat в text и наоборот.

Этот текст может отличаться от displayName возвращаемого Places.get.

Может быть на смешанных языках, если input запроса и languageCode указаны на разных языках или если у Place нет перевода с местного языка на languageCode .

structured Format

object ( StructuredFormat )

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

structuredFormat рекомендуется разработчикам, которые хотят показать два отдельных, но связанных элемента пользовательского интерфейса. Разработчики, которые хотят показать один элемент пользовательского интерфейса, могут вместо этого использовать text . Это два разных способа представления предсказания места. Пользователям не следует пытаться преобразовать structuredFormat в text и наоборот.

types[]

string

Список типов, применимых к этому месту, из таблицы A или таблицы B в https://developers.google.com/maps/documentation/places/web-service/place-types .

Тип — это категоризация Места. Места с общими типами будут иметь схожие характеристики.

distance Meters

integer

Длина геодезической в ​​метрах от origin если origin указано. Некоторые прогнозы, например маршруты, могут не заполняться в этом поле.

Форматтаблетекст

Текст, представляющий подсказку места или запроса. Текст можно использовать как есть или отформатировать.

JSON-представление
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Поля
text

string

Текст, который можно использовать как есть или отформатировать с matches .

matches[]

object ( StringRange )

Список диапазонов строк, определяющих совпадение входного запроса в text . Диапазоны можно использовать для форматирования определенных частей text . Подстроки могут не совпадать с точными input , если соответствие было определено по критериям, отличным от совпадения строк (например, исправления орфографии или транслитерация).

Эти значения представляют собой смещения символов Юникода в text . Диапазоны гарантированно упорядочиваются по возрастанию значений смещения.

StringRange

Идентифицирует подстроку в данном тексте.

JSON-представление
{
  "startOffset": integer,
  "endOffset": integer
}
Поля
start Offset

integer

Смещение первого символа Юникода строки (включительно), отсчитываемое от нуля.

end Offset

integer

Смещение последнего символа Юникода с отсчетом от нуля (исключающее).

Структурированныйформат

Содержит разбивку подсказки места или запроса на основной и дополнительный текст.

Для подсказок мест основной текст содержит конкретное название места. Для прогнозов запроса основной текст содержит запрос.

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

JSON-представление
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Поля
main Text

object ( FormattableText )

Представляет имя места или запроса.

secondary Text

object ( FormattableText )

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

ЗапросПрогнозирование

Результаты прогнозирования для прогноза автозаполнения запроса.

JSON-представление
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Поля
text

object ( FormattableText )

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

text рекомендуется разработчикам, которые хотят показать один элемент пользовательского интерфейса. Разработчики, которые хотят показать два отдельных, но связанных элемента пользовательского интерфейса, могут вместо этого использовать structuredFormat . Это два разных способа представления прогноза запроса. Пользователям не следует пытаться преобразовать structuredFormat в text и наоборот.

Может быть на смешанных языках, если input запроса и languageCode находятся на разных языках или если часть запроса не имеет перевода с локального языка на languageCode .

structured Format

object ( StructuredFormat )

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

structuredFormat рекомендуется разработчикам, которые хотят показать два отдельных, но связанных элемента пользовательского интерфейса. Разработчики, которые хотят показать один элемент пользовательского интерфейса, могут вместо этого использовать text . Это два разных способа представления прогноза запроса. Пользователям не следует пытаться преобразовать structuredFormat в text и наоборот.