Method: geocode.destinations.searchDestinations

Esse método realiza uma pesquisa de destino e retorna uma lista de destinos.

Solicitação HTTP

POST https://geocode.googleapis.com/v4alpha/geocode/destinations

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
{
  "travelModes": [
    enum (NavigationPoint.TravelMode)
  ],
  "languageCode": string,
  "regionCode": string,

  // Union field primary_query can be only one of the following:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of list of possible types for union field primary_query.
}
Campos
travelModes[]

enum (NavigationPoint.TravelMode)

Opcional. Os meios de transporte para filtrar os pontos de navegação. Isso influencia o campo navigationPoints retornado na resposta. Se estiver vazio, os pontos de navegação de todos os meios de transporte poderão ser retornados.

languageCode

string

Opcional. Idioma em que os resultados precisam ser retornados.

regionCode

string

Opcional. É o código da região. O código da região, especificado como um valor ccTLD ("domínio de nível superior") de dois caracteres. O parâmetro afeta os resultados com base na legislação aplicável. Esse parâmetro também influencia, mas não restringe totalmente, os resultados do serviço.

Campo de união primary_query. Consulte o destino principal. Pode ser um lugar, um endereço totalmente especificado ou um local LatLng. Alguns lugares e endereços com poucas informações não podem ser transformados em um destino.

Os destinos são criados com base na consulta principal especificada.

Observação: somente lugares e endereços que podem ter um destino de navegação são aceitos. Por exemplo, um lugar que representa uma casa ou um complexo de apartamentos pode ser usado como a consulta principal, mas lugares que representam uma localidade ou uma área administrativa não podem ser usados como a consulta principal. primary_query pode ser apenas de um dos tipos a seguir:

place

string

O nome do recurso de um lugar, no formato places/{placeId}.

addressQuery

object (SearchDestinationsRequest.AddressQuery)

Um endereço.

locationQuery

object (SearchDestinationsRequest.LocationQuery)

Um local exato.

Corpo da resposta

Mensagem de resposta para DestinationService.SearchDestinations.

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

Representação JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Campos
destinations[]

object (Destination)

Uma lista de destinos.

O serviço retorna um resultado se um destino principal puder ser identificado de forma inequívoca na consulta principal. Caso contrário, o serviço poderá retornar vários resultados para desambiguação ou nenhum resultado.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

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

SearchDestinationsRequest.AddressQuery

O endereço que você quer pesquisar. Especifique endereços de acordo com o formato usado pelo serviço postal do país em questão.

Representação JSON
{

  // Union field kind can be only one of the following:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of list of possible types for union field kind.
}
Campos
Campo de união kind. A consulta de endereço. kind pode ser apenas de um dos tipos a seguir:
address

object (PostalAddress)

Um endereço no formato de endereço postal.

addressQuery

string

Um endereço formatado como uma única linha.

SearchDestinationsRequest.LocationQuery

Uma consulta de local para identificar um destino principal próximo.

Observação: se a consulta de local estiver em um prédio com subunidades, é possível que o lugar principal retornado seja uma subunidade. Nesses casos, o campo "containingPlaces" vai incluir o prédio.

Representação JSON
{

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
Campos
Campo de união kind. A consulta de local. kind pode ser apenas de um dos tipos a seguir:
location

object (LatLng)

Um local LatLng exato.

Destino

Um destino. Isso inclui o lugar principal, lugares relacionados, entradas e pontos de navegação.

Representação JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
Campos
primary

object (PlaceView)

O lugar principal identificado pelo primary_query na solicitação.

containingPlaces[]

object (PlaceView)

Os lugares menos precisos que contêm o lugar principal. Por exemplo, o complexo de apartamentos que contém esse prédio.

subDestinations[]

object (PlaceView)

Subdestinos mais precisos do lugar principal. Por exemplo, unidades contidas em um prédio.

Observação: em comparação com o SubDestination retornado pela API Places, essa lista de subdestinos é mais completa, e cada subdestino contém mais informações.

landmarks[]

object (Landmark)

Pontos de referência que podem ser usados para comunicar onde fica o destino ou ajudar na chegada.

entrances[]

object (Entrance)

Entradas para esse destino.

navigationPoints[]

object (NavigationPoint)

Pontos de navegação para este destino.

PlaceView

Representa uma visualização de um Lugar na API Places. Ele também fornece informações adicionais específicas para destinos, como o tipo de estrutura e o polígono de exibição.

Em alguns casos, um PlaceView com o mesmo ID de lugar pode ser diferente do que é retornado pela API Places para os campos types e displayName.

Representação JSON
{
  "place": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  }
}
Campos
place

string

O nome do recurso deste lugar, no formato places/{placeId}.

displayName

object (LocalizedText)

Descrição legível do lugar. Por exemplo, "Portão B", "McDonalds"

primaryType

string

O tipo de lugar principal deste lugar. Consulte https://developers.google.com/maps/documentation/places/web-service/place-types para ver a lista de valores possíveis.

Observação: esse campo nem sempre é preenchido. Esteja preparado para usar o campo types nessas situações.

types[]

string

Todos os tipos de lugar associados a este lugar. Consulte https://developers.google.com/maps/documentation/places/web-service/place-types para ver a lista de valores possíveis.

formattedAddress

string

Endereço de uma linha.

postalAddress

object (PostalAddress)

Endereço estruturado.

structureType

enum (PlaceView.StructureType)

O tipo de estrutura correspondente a este lugar.

location

object (LatLng)

O local deste lugar. Para lugares com polígonos de exibição, isso pode representar um bom local para colocar um marcador no mapa.

displayPolygon

object (Struct format)

O contorno do polígono do lugar no formato GeoJSON, usando o formato RFC 7946: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.

Observação: o formato RFC 7946 é compatível com MultiPolygons. Portanto, um objeto displayPolygon pode representar vários polígonos.

PlaceView.StructureType

O tipo de estrutura que este lugar representa.

Enums
STRUCTURE_TYPE_UNSPECIFIED Não utilizado.
POINT Um local de ponto.
SECTION Uma subseção de um edifício.
BUILDING Um edifício.
GROUNDS Uma área grande que normalmente contém vários edifícios, como um campus universitário, um complexo de apartamentos ou um shopping center.

Ponto de referência

Os pontos de referência são usados para comunicar onde fica o destino ou ajudar a chegar até ele.

Representação JSON
{
  "tags": [
    enum (Landmark.Tag)
  ],

  // Union field landmark can be only one of the following:
  "place": {
    object (PlaceView)
  }
  // End of list of possible types for union field landmark.
}
Campos
tags[]

enum (Landmark.Tag)

Tags que descrevem como o ponto de referência pode ser usado no contexto do destino.

Campo de união landmark. O ponto de referência. landmark pode ser apenas de um dos tipos a seguir:
place

object (PlaceView)

O lugar que representa esse ponto de referência.

Landmark.Tag

A lista de todas as tags possíveis que descrevem como um ponto de referência pode ser usado no contexto de um destino.

Se um endereço tiver as tags ADDRESS e ARRIVAL, isso significa que o ponto de referência é proeminente localmente e está perto do destino.

Enums
TAG_UNSPECIFIED Não utilizado.
ADDRESS Um lugar de destaque local que pode ser usado para identificar a localização geral do destino. Normalmente, a poucos metros do destino. Eles são semelhantes aos pontos de referência retornados pelo recurso de descritores de endereço da API Geocoding: https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
ARRIVAL Um lugar que pode ser usado para ajudar a chegar ao destino. Útil para navegação quando você está perto do destino. Por exemplo, pode ser um lugar que fica do outro lado da rua do destino. Um ponto de referência com essa tag geralmente está mais perto do destino do que os pontos com a tag ADDRESS.

Entrada

Uma entrada é um único par de coordenadas de latitude/longitude que define a localização de um ponto de entrada e saída de um lugar.

Representação JSON
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
Campos
location

object (LatLng)

O local da entrada.

tags[]

enum (Entrance.Tag)

Uma lista de tags que descrevem a entrada.

place

string

A estrutura em que essa entrada está localizada fisicamente, no formato places/{placeId}.

Entrance.Tag

Características que descrevem uma entrada.

Enums
TAG_UNSPECIFIED Não utilizado.
PREFERRED

A entrada provavelmente dá acesso físico ao local principal no destino retornado. Um lugar pode ter várias entradas preferenciais. Se uma entrada não tiver essa tag, significa que ela está fisicamente no mesmo edifício que o lugar principal, mas não necessariamente dá acesso a ele.

Por exemplo, se o lugar principal for um restaurante em um centro comercial, as entradas "PREFERRED" serão as que provavelmente levam ao restaurante, enquanto as outras entradas retornadas serão outras entradas do edifício, como as de outros restaurantes no centro comercial.

Se o lugar principal for um prédio, as entradas PREFERRED serão as que levam à parte "principal" do prédio. Por exemplo, em um shopping center, as entradas PREFERRED são as que permitem o acesso à área principal do saguão. No entanto, se uma entrada só permitir o acesso a uma loja na lateral do prédio, ela não será uma entrada PREFERRED.

Observação: uma entrada PREFERRED pode não dar acesso ao local principal, e uma entrada não PREFERRED pode dar acesso ao local principal.