Method: places.autocomplete

Retorna previsões para a entrada especificada.

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. Direciona os resultados para um local específico.

Defina no máximo locationBias ou locationRestriction. Se nenhum deles for definido, os resultados serão polarizados pelo endereço IP, o que significa que o endereço IP será mapeado para um local incorreto e usado como um sinal de polarização.

locationRestriction

object (LocationRestriction)

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

Defina no máximo locationBias ou locationRestriction. Se nenhum deles for definido, os resultados serão polarizados pelo endereço IP, o que significa que o endereço IP será mapeado para um local incorreto e usado como um sinal de polarização.

includedPrimaryTypes[]

string

Opcional. Inclusão do tipo de lugar principal (por exemplo, "restaurante" ou "posto de gasolina") da Tabela A ou B nos Tipos de lugar (https://developers.google.com/maps/documentation/places/web-service/place-types), ou apenas (regiões) ou apenas (cidades). Um lugar só é retornado se seu tipo principal está incluído nessa lista. É possível especificar até cinco valores. Se nenhum tipo for especificado, todos eles vão ser retornados.

includedRegionCodes[]

string

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

languageCode

string

Opcional. O idioma no qual os resultados serão retornados. O padrão é "en-US". Os resultados podem estar 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 regional, especificado como um código de região CLDR de dois caracteres. Isso afeta a formatação do endereço, a classificação dos 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 caracteres Unicode baseado em zero de input que indica 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 for "true", a resposta vai incluir previsões de Place e Query. Caso contrário, a resposta retornará apenas previsões de lugar.

sessionToken

string

Opcional. 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, será retornado um erro INVALID_MCC.

A sessão começa quando o usuário começa a digitar uma consulta e termina quando ele seleciona um local e uma chamada para Place Details ou Address Validation é feita. Cada sessão pode ter várias consultas, seguidas por uma solicitação de 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 o término de uma sessão, o token não é mais 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 será faturada separadamente).

Recomendamos as seguintes diretrizes:

  • Usar tokens de sessão para todas as chamadas do Place Autocomplete.
  • Gere um novo token para cada sessão. Recomendamos usar a versão 4 do UUID.
  • 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 ser polarizados 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 pelos 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 pelos cantos nordeste e sudoeste.

circle

object (Circle)

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

Sugestão

Um resultado de 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)

Uma 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 estabelecimentos, 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 quiserem mostrar dois elementos de interface separados, mas relacionados, podem usar structuredFormat. Há 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 idiomas mistos se a solicitação input e languageCode estiverem em idiomas diferentes ou se o local não tiver uma tradução do idioma local para o languageCode.

structuredFormat

object (StructuredFormat)

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

O structuredFormat é recomendado para desenvolvedores que querem mostrar dois elementos da interface separados, mas relacionados. Os desenvolvedores que quiserem mostrar um único elemento da interface podem usar text. Há 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 aplicáveis a esse 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 parecidas.

distanceMeters

integer

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

FormattableText

Texto que representa um lugar ou previsão de 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 no estado em que se encontra 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 tiver sido 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 crescentes de deslocamento.

StringRange

Identifica uma substring em um texto específico.

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

integer

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

endOffset

integer

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

StructuredFormat

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

Para previsões de lugar, 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 recursos de desambiguação (como 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 local ou da consulta.

secondaryText

object (FormattableText)

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

QueryPrediction

Resultados da previsão de uma 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 quiserem mostrar dois elementos de interface separados, mas relacionados, podem usar structuredFormat. Há 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 idiomas mistos se as solicitações input e languageCode estiverem em idiomas diferentes ou se parte da consulta não tiver uma tradução do idioma local para o languageCode.

structuredFormat

object (StructuredFormat)

Um detalhamento da previsão da consulta no texto principal contendo a consulta e o texto secundário com outros recursos que podem não ser ambíguos (como uma cidade ou região).

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