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,
  "includePureServiceAreaBusinesses": boolean,
  "includeFutureOpeningBusinesses": boolean
}
Campos
input

string

Obrigatório. A string de texto em que a pesquisa será feita.

locationBias

object (LocationBias)

Opcional. Direcionamento dos resultados para um local especificado.

No máximo um de locationBias ou locationRestriction deve ser definido. Se nenhum dos dois estiver definido, os resultados serão influenciados pelo endereço IP, ou seja, o endereço IP será mapeado para um local impreciso e usado como um indicador de viés.

locationRestriction

object (LocationRestriction)

Opcional. Restringe os resultados a um local especificado.

No máximo um de locationBias ou locationRestriction deve ser definido. Se nenhum dos dois estiver definido, os resultados serão influenciados pelo endereço IP, ou seja, o endereço IP será mapeado para um local impreciso e usado como um indicador de viés.

includedPrimaryTypes[]

string

Opcional. Incluído o tipo de lugar principal (por exemplo, "restaurant" ou "gas_station") em Tipos de lugar (https://developers.google.com/maps/documentation/places/web-service/place-types) ou apenas (regions) ou apenas (cities). Um lugar só será retornado se o tipo principal dele estiver incluído nessa lista. É possível especificar até cinco valores. Se nenhum tipo for especificado, todos os tipos de lugar serão retornados.

includedRegionCodes[]

string

Opcional. Inclui apenas resultados nas regiões especificadas, que podem ser até 15 códigos de região CLDR de dois caracteres. Um conjunto vazio não restringe os resultados. Se locationRestriction e includedRegionCodes estiverem definidos, os resultados vão estar na área de interseção.

languageCode

string

Opcional. O idioma em que 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 da região, especificado como um código regional CLDR de dois caracteres. Isso afeta a formatação de endereços, a classificação dos resultados e pode influenciar quais resultados são 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 de onde 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 com base em zero de input que indica a posição do cursor em input. A posição do cursor pode influenciar as previsões retornadas.

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

includeQueryPredictions

boolean

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

sessionToken

string

Opcional. Uma string que identifica uma sessão do Autocomplete 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 ele seleciona um lugar 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 em cada solicitação dentro de uma sessão precisam pertencer ao mesmo projeto do Console do Google Cloud. Após a conclusão de uma sessão, o token perde a validade. Seu app precisa 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 e cada solicitação será faturada separadamente.

Recomendamos as seguintes diretrizes:

  • Use tokens de sessão em todas as chamadas do Place Autocomplete.
  • Gere um novo token para cada sessão. Recomendamos usar um UUID da versão 4.
  • Verifique se as credenciais usadas em todas as solicitações de Place Autocomplete, Place Details e Address Validation em uma sessão pertencem ao mesmo projeto do Cloud Console.
  • 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 vai ser faturada individualmente.
includePureServiceAreaBusinesses

boolean

Opcional. Inclua empresas de serviço local se o campo estiver definido como "true". Uma empresa de serviço local pura é uma empresa que visita ou entrega diretamente aos clientes, mas não atende clientes no endereço comercial dela. Por exemplo, prestadores de serviços de limpeza ou encanadores. Essas empresas não têm um endereço físico ou local no Google Maps. O Places não vai retornar campos como location, plusCode e outros campos relacionados à localização para essas empresas.

includeFutureOpeningBusinesses

boolean

Opcional. Se for "true", inclua empresas que ainda não estão abertas, mas serão inauguradas no futuro.

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.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

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

LocationBias

A região a ser pesquisada. Os resultados podem ser tendenciosos em relação à 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 um canto nordeste e um 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 um canto nordeste e um sudoeste.

circle

object (Circle)

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

sugerida

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 para um 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.

text é recomendado 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. 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 idiomas mistos 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 Places no texto principal, que contém o nome do Place, e no texto secundário, que contém outros recursos de desambiguação (como uma cidade ou região).

O structuredFormat é recomendado para desenvolvedores que querem mostrar dois elementos de UI separados, mas relacionados. Os desenvolvedores que quiserem mostrar um único elemento da interface podem usar text. 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 Tabela 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 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 foi 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 são garantidos para serem ordenados em valores de deslocamento crescente.

StringRange

Identifica uma substring em um determinado texto.

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

integer

Deslocamento de base zero do primeiro caractere Unicode da string (inclusivo).

endOffset

integer

Deslocamento de base zero do último caractere Unicode (exclusivo).

StructuredFormat

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

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

O texto secundário contém outros recursos 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 outros recursos de desambiguação (como uma cidade ou região) para identificar melhor o lugar ou refinar a consulta.

QueryPrediction

Resultados da previsão para uma previsão de preenchimento automático de consultas.

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).

text é recomendado 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. 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 idiomas mistos 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 de consulta no texto principal, que contém a consulta, e no texto secundário, que contém outros recursos de desambiguação (como uma cidade ou região).

O structuredFormat é recomendado para desenvolvedores que querem mostrar dois elementos de UI separados, mas relacionados. Os desenvolvedores que quiserem mostrar um único elemento da interface podem usar text. 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.