Method: places.autocomplete

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

HTTP-запрос

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

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

Текст запроса

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

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

Обязательно. Текстовая строка, по которой будет выполняться поиск.

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 ), или только (regions) , или только (cities) . Место возвращается только в том случае, если его основной тип включен в этот список. Можно указать до 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

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

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

includeQueryPredictions

boolean

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

sessionToken

string

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

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

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

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

boolean

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

Тело ответа

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

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

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

object ( Suggestion )

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

Области действия авторизации

Требуется следующая область действия OAuth:

  • https://www.googleapis.com/auth/cloud-platform

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

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

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 . Это два разных способа представления прогноза Place. Пользователи не должны пытаться разобрать structuredFormat на text или наоборот.

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

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

structuredFormat

object ( StructuredFormat )

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

structuredFormat рекомендуется разработчикам, желающим показать два отдельных, но связанных элемента пользовательского интерфейса. Разработчики, желающие показать один элемент пользовательского интерфейса, могут использовать text . Это два разных способа представления прогноза Place. Пользователи не должны пытаться преобразовать 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 , если совпадение было определено по критериям, отличным от сопоставления строк (например, исправления орфографии или транслитерации).

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

ДиапазонСтрок

Определяет подстроку в заданном тексте.

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

integer

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

endOffset

integer

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

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

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

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

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

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 или наоборот.