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
}
Поля
input

string

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

locationBias

object ( LocationBias )

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

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

locationRestriction

object ( LocationRestriction )

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

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

includedPrimaryTypes[]

string

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

includedRegionCodes[]

string

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

languageCode

string

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

regionCode

string

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

origin

object ( LatLng )

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

inputOffset

integer

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

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

includeQueryPredictions

boolean

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

sessionToken

string

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

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

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

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

Тело ответа

Прототип ответа для 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 может быть только одним из следующих:

placePrediction

object ( PlacePrediction )

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

queryPrediction

object ( QueryPrediction )

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

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

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

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

string

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

placeId

string

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

text

object ( FormattableText )

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

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

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

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

structuredFormat

object ( StructuredFormat )

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

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

types[]

string

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

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

distanceMeters

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
}
Поля
startOffset

integer

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

endOffset

integer

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

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

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

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

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

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

object ( FormattableText )

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

secondaryText

object ( FormattableText )

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

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

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

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

object ( FormattableText )

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

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

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

structuredFormat

object ( StructuredFormat )

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

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