Method: places.autocomplete

Retorna previsões para a entrada em questão.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação 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
}
Campos
input

string

Obrigatório. A string de texto na qual pesquisar.

locationBias

object (LocationBias)

Opcional. Polarizar os resultados a um local especificado.

É necessário definir no máximo locationBias ou locationRestriction. Se nenhum deles for definido, os resultados serão enviesados pelo endereço IP, o que significa que o endereço IP será mapeado para uma localização imprecisa e usado como um sinal de polarização.

locationRestriction

object (LocationRestriction)

Opcional. Restringir os resultados a um local específico.

É necessário definir no máximo locationBias ou locationRestriction. Se nenhum deles for definido, os resultados serão enviesados pelo endereço IP, o que significa que o endereço IP será mapeado para uma localização imprecisa e usado como um sinal de polarização.

includedPrimaryTypes[]

string

Opcional. O tipo de lugar principal incluído (por exemplo, "restaurante" ou "posto de gasolina") em https://developers.google.com/maps/documentation/places/web-service/place-types foi incluído. Um local só é retornado se seu tipo principal está incluído na lista. É possível especificar até cinco valores. Se nenhum tipo for especificado, todos os tipos de lugar serão retornados.

includedRegionCodes[]

string

Opcional. Inclua os resultados apenas nas regiões especificadas, com até 15 códigos de região CLDR de dois caracteres. Um conjunto vazio não restringirá os resultados. Se locationRestriction e includedRegionCodes estiverem definidos, os resultados serão exibidos na área de interseção.

languageCode

string

Opcional. O idioma no qual os resultados serão retornados. O padrão é en-US. Os resultados poderão ficar em idiomas mistos se o idioma usado em input for diferente de languageCode ou se o lugar retornado não tiver uma tradução do idioma local para languageCode.

regionCode

string

Opcional. O código de região, especificado como um código CLDR de dois caracteres. Isso afeta a formatação de endereços e a classificação de resultados e pode influenciar os resultados retornados. Isso não restringe os resultados à região especificada. Para restringir os resultados a uma região, use region_code_restriction.

origin

object (LatLng)

Opcional. O ponto de origem a partir do qual calcular a distância geodésica até o destino (retornado como distanceMeters). Se esse valor for omitido, a distância geodésica não será retornada.

inputOffset

integer

Opcional. Um deslocamento de caractere Unicode baseado em zero de input, indicando a posição do cursor em input. A posição do cursor pode influenciar quais previsões são retornadas.

Se estiver vazio, o padrão será o comprimento de input.

includeQueryPredictions

boolean

Opcional. Se verdadeiro, a resposta vai incluir previsões de local e consulta. Caso contrário, a resposta retornará somente previsões de lugar.

sessionToken

string

Opcional. Uma string que identifica uma sessão de preenchimento automático para fins de faturamento. Precisa ser uma string base64 segura para URL e nome de arquivo com no máximo 36 caracteres ASCII. Caso contrário, um erro INVALID_ARGUMENT será retornado.

A sessão começa quando o usuário começa a digitar uma consulta e termina quando seleciona um local e faz uma chamada para Place Details ou Address Validation. Cada sessão pode ter várias consultas, seguidas por uma solicitação do Place Details ou Address Validation. As credenciais usadas para cada solicitação em uma sessão precisam pertencer ao mesmo projeto do Console do Google Cloud. Após a conclusão de uma sessão, o token deixa de ser válido; seu aplicativo deve gerar um novo token para cada sessão. Se o parâmetro sessionToken for omitido ou você reutilizar um token, a sessão vai ser cobrada como se nenhum token de sessão tivesse sido fornecido (cada solicitação é faturada separadamente).

Recomendamos as seguintes diretrizes:

  • Usar tokens de sessão para todas as chamadas do Place Autocomplete.
  • Gerar um novo token para cada sessão. É recomendável usar o UUID da versão 4.
  • Verifique se as credenciais usadas para todas as solicitações de Place Autocomplete, Place Details e Address Validation em uma sessão pertencem ao mesmo projeto do Console do Cloud.
  • Transmita um token de sessão exclusivo para cada sessão nova. Se você usar o mesmo token para mais de uma sessão, cada solicitação será faturada individualmente.

Corpo da resposta

Proto de resposta para places.Autocomplete.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Campos
suggestions[]

object (Suggestion)

Contém uma lista de sugestões, ordenadas em ordem decrescente de relevância.

LocationBias

A região a ser pesquisada. Os resultados podem estar enviesados em torno da região especificada.

Representação 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.
}
Campos

Campo de união type.

type pode ser apenas de um dos tipos a seguir:

rectangle

object (Viewport)

Uma janela de visualização definida por cantos nordeste e sudoeste.

circle

object (Circle)

Um círculo definido por um ponto central e um raio.

LocationRestriction

A região a ser pesquisada. Os resultados serão restritos à região especificada.

Representação 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.
}
Campos

Campo de união type.

type pode ser apenas de um dos tipos a seguir:

rectangle

object (Viewport)

Uma janela de visualização definida por cantos nordeste e sudoeste.

circle

object (Circle)

Um círculo definido por um ponto central e um raio.

Sugestão

Resultado de uma sugestão de preenchimento automático.

Representação 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.
}
Campos

Campo de união kind.

kind pode ser apenas de um dos tipos a seguir:

placePrediction

object (PlacePrediction)

Previsão para um lugar.

queryPrediction

object (QueryPrediction)

Uma previsão para uma consulta.

PlacePrediction

Resultados da previsão de uma previsão do Place Autocomplete.

Representação JSON
{
  "place": string,
  "placeId": string,
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  },
  "types": [
    string
  ],
  "distanceMeters": integer
}
Campos
place

string

O nome do recurso do lugar sugerido. Esse nome pode ser usado em outras APIs que aceitam nomes de lugares.

placeId

string

O identificador exclusivo do lugar sugerido. Esse identificador pode ser usado em outras APIs que aceitam IDs de lugar.

text

object (FormattableText)

Contém o nome legível do resultado retornado. Para resultados de estabelecimento, geralmente é o nome e o endereço da empresa.

A text é recomendada para desenvolvedores que querem mostrar um único elemento da interface. Os desenvolvedores que querem mostrar dois elementos da interface separados, mas relacionados, podem usar structuredFormat. Elas são duas maneiras diferentes de representar uma previsão de lugar. Os usuários não devem tentar analisar structuredFormat em text ou vice-versa.

Esse texto pode ser diferente do displayName retornado por places.get.

Pode estar em vários idiomas se a solicitação input e languageCode estiverem em idiomas diferentes ou se o lugar não tiver uma tradução do idioma local para languageCode.

structuredFormat

object (StructuredFormat)

Um detalhamento da previsão de lugar no texto principal contendo o nome do lugar e texto secundário contendo outros elementos de desambiguação (como uma cidade ou região).

A structuredFormat é recomendada para desenvolvedores que querem mostrar dois elementos de interface separados, mas relacionados. Os desenvolvedores que querem mostrar um único elemento da interface podem usar text. Elas são duas maneiras diferentes de representar uma previsão de lugar. Os usuários não devem tentar analisar structuredFormat em text ou vice-versa.

types[]

string

Lista de tipos que se aplicam a este lugar da Tabela A ou B em https://developers.google.com/maps/documentation/places/web-service/place-types.

Um tipo é uma categorização de um lugar. Os lugares com tipos compartilhados têm características semelhantes.

distanceMeters

integer

O comprimento da geodésica em metros de origin se origin for especificado. Algumas previsões, como rotas, podem não preencher esse campo.

FormattableText

Texto que representa uma previsão de lugar ou consulta. O texto pode ser usado no estado em que se encontra ou formatado.

Representação JSON
{
  "text": string,
  "matches": [
    {
      object (StringRange)
    }
  ]
}
Campos
text

string

Texto que pode ser usado como está ou formatado com matches.

matches[]

object (StringRange)

Uma lista de intervalos de strings que identificam onde a solicitação de entrada correspondeu em text. Os intervalos podem ser usados para formatar partes específicas de text. As substrings podem não ser correspondências exatas de input se a correspondência for determinada por critérios diferentes da correspondência de strings (por exemplo, correções ortográficas ou transliterações).

Esses valores são deslocamentos de caracteres Unicode de text. Os intervalos serão ordenados em valores de deslocamento crescentes.

StringRange

Identifica uma substring em um determinado texto.

Representação JSON
{
  "startOffset": integer,
  "endOffset": integer
}
Campos
startOffset

integer

Deslocamento baseado em zero do primeiro caractere Unicode da string (inclusivo).

endOffset

integer

Deslocamento baseado em zero do último caractere Unicode (exclusivo).

StructuredFormat

Contém um detalhamento de uma previsão de lugar ou consulta em texto principal e texto secundário.

Para previsões de locais, o texto principal contém o nome específico do lugar. Para previsões de consulta, o texto principal contém a consulta.

O texto secundário contém outros elementos de desambiguação (como uma cidade ou região) para identificar melhor o lugar ou refinar a consulta.

Representação JSON
{
  "mainText": {
    object (FormattableText)
  },
  "secondaryText": {
    object (FormattableText)
  }
}
Campos
mainText

object (FormattableText)

Representa o nome do lugar ou da consulta.

secondaryText

object (FormattableText)

Representa elementos adicionais de desambiguação (como uma cidade ou região) para identificar melhor o lugar ou refinar a consulta.

QueryPrediction

Resultados da previsão do Query Autocomplete.

Representação JSON
{
  "text": {
    object (FormattableText)
  },
  "structuredFormat": {
    object (StructuredFormat)
  }
}
Campos
text

object (FormattableText)

O texto previsto. Esse texto não representa um lugar, mas sim uma consulta de texto que pode ser usada em um endpoint de pesquisa (por exemplo, Text Search).

A text é recomendada para desenvolvedores que querem mostrar um único elemento da interface. Os desenvolvedores que querem mostrar dois elementos da interface separados, mas relacionados, podem usar structuredFormat. Elas são duas maneiras diferentes de representar uma previsão de consulta. Os usuários não devem tentar analisar structuredFormat em text ou vice-versa.

Pode estar em vários idiomas se a solicitação input e languageCode estiverem em idiomas diferentes ou se parte da consulta não tiver uma tradução do idioma local para languageCode.

structuredFormat

object (StructuredFormat)

Um detalhamento da previsão da consulta no texto principal que contém a consulta e o texto secundário contendo outros recursos de desambiguação (como uma cidade ou região).

A structuredFormat é recomendada para desenvolvedores que querem mostrar dois elementos de interface separados, mas relacionados. Os desenvolvedores que querem mostrar um único elemento da interface podem usar text. Elas são duas maneiras diferentes de representar uma previsão de consulta. Os usuários não devem tentar analisar structuredFormat em text ou vice-versa.