Method: geocode.destinations.searchDestinations

Este método realiza una búsqueda de destino y devuelve una lista de destinos.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación 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. Son los medios de transporte para los que se filtrarán los puntos de navegación. Esto influye en el campo navigationPoints que se devuelve en la respuesta. Si está vacío, se pueden devolver los puntos de navegación de todos los medios de transporte.

languageCode

string

Opcional. Idioma en el que se deben mostrar los resultados.

regionCode

string

Opcional. Es el código de región. Es el código de región, especificado como un valor de dos caracteres del ccTLD ("dominio de nivel superior"). El parámetro afecta los resultados según la legislación aplicable. Este parámetro también afecta los resultados del servicio, pero no los restringe por completo.

Campo de unión primary_query. Consulta para el destino principal. Puede ser un lugar, una dirección completamente especificada o una ubicación de LatLng. Algunos lugares y direcciones con información mínima no se podrán convertir en destinos.

Los destinos se compilan en torno a la búsqueda principal especificada.

Nota: Solo se admiten los lugares y las direcciones que pueden tener un destino de navegación. Por ejemplo, un lugar que representa una casa o un complejo de apartamentos se puede usar como la búsqueda principal, pero los lugares que representan una localidad o un área administrativa no se pueden usar como la búsqueda principal. primary_query puede ser una de las siguientes opciones:

place

string

Es el nombre del recurso de un lugar, en formato places/{placeId}.

addressQuery

object (SearchDestinationsRequest.AddressQuery)

Una dirección.

locationQuery

object (SearchDestinationsRequest.LocationQuery)

Una ubicación precisa

Cuerpo de la respuesta

Es el mensaje de respuesta para DestinationService.SearchDestinations.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Campos
destinations[]

object (Destination)

Es una lista de destinos.

El servicio devuelve un resultado si se puede identificar de forma inequívoca un destino principal a partir de la búsqueda principal. De lo contrario, es posible que el servicio muestre varios resultados para la desambiguación o ningún resultado.

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

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

SearchDestinationsRequest.AddressQuery

Es la dirección de la calle que deseas buscar. Especifica una dirección conforme al formato usado por el servicio postal nacional del país en cuestión.

Representación 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ón kind. Es la consulta de dirección. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
address

object (PostalAddress)

Una dirección en formato de dirección postal.

addressQuery

string

Es una dirección con formato de una sola línea.

SearchDestinationsRequest.LocationQuery

Es una búsqueda de ubicación para identificar un destino principal cercano.

Nota: Si la búsqueda de ubicación se realiza dentro de un edificio que contiene subinstalaciones, es posible que el lugar principal que se devuelva sea una subinstalación. En estos casos, el campo containingPlaces incluirá el edificio.

Representación 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ón kind. Es la búsqueda de ubicación. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
location

object (LatLng)

Es una ubicación LatLng precisa.

Destino

Un destino Esto incluye el lugar principal, los lugares relacionados, las entradas y los puntos de navegación.

Representación JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
Campos
primary

object (PlaceView)

Es el lugar principal que identifica primary_query en la solicitud.

containingPlaces[]

object (PlaceView)

Son los lugares menos precisos que contienen el lugar principal. Por ejemplo, el complejo de departamentos que contiene este edificio.

subDestinations[]

object (PlaceView)

Son destinos secundarios más precisos del lugar principal. Por ejemplo, las unidades que contiene un edificio.

Nota: En comparación con el objeto SubDestination que devuelve la API de Places, esta lista de subdestinos es más exhaustiva y cada subdestino contiene más información.

landmarks[]

object (Landmark)

Puntos de referencia que se pueden usar para comunicar dónde está el destino o ayudar con la llegada.

entrances[]

object (Entrance)

Son las entradas para este destino.

navigationPoints[]

object (NavigationPoint)

Son los puntos de navegación para este destino.

PlaceView

Representa una vista de un lugar en la API de Places. También proporciona información adicional específica para los destinos, como el tipo de estructura y el polígono de visualización.

En algunos casos, un PlaceView con el mismo ID de lugar puede diferir de lo que devuelve la API de Places para los campos types y displayName.

Representación 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

Nombre del recurso de este lugar, en formato places/{placeId}.

displayName

object (LocalizedText)

Es una descripción legible del lugar. Por ejemplo, “Puerta B”, “McDonalds”

primaryType

string

Es el tipo de lugar principal de este lugar. Consulta https://developers.google.com/maps/documentation/places/web-service/place-types para ver la lista de valores posibles.

Nota: Este campo no siempre se propaga. Prepárate para usar el campo types en esas situaciones.

types[]

string

Son todos los tipos de lugares asociados a este lugar. Consulta https://developers.google.com/maps/documentation/places/web-service/place-types para ver la lista de valores posibles.

formattedAddress

string

Dirección de una sola línea.

postalAddress

object (PostalAddress)

Dirección estructurada.

structureType

enum (PlaceView.StructureType)

Es el tipo de estructura correspondiente a este lugar.

location

object (LatLng)

Es la ubicación de este lugar. En el caso de los lugares con polígonos de visualización, esto puede representar un buen lugar para colocar un marcador en el mapa.

displayPolygon

object (Struct format)

Es el contorno poligonal del lugar en formato GeoJSON, con el formato RFC 7946: https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.

Nota: El formato RFC 7946 admite MultiPolygons, por lo que un objeto displayPolygon puede representar varios polígonos.

PlaceView.StructureType

Es el tipo de estructura que representa este lugar.

Enumeraciones
STRUCTURE_TYPE_UNSPECIFIED No se usa.
POINT Es una ubicación de punto.
SECTION Es una subsección de un edificio.
BUILDING Un edificio.
GROUNDS Es un área grande que suele contener varios edificios, como un campus universitario, un complejo de departamentos o un centro comercial.

Punto de referencia

Los puntos de referencia se usan para comunicar dónde está el destino o ayudar a llegar a él.

Representación 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)

Son etiquetas que describen cómo se puede usar el punto de referencia en el contexto del destino.

Campo de unión landmark. Es el punto de referencia. Las direcciones (landmark) solo pueden ser una de las siguientes opciones:
place

object (PlaceView)

Es el lugar que representa este punto de referencia.

Landmark.Tag

Es la lista de todas las etiquetas posibles que describen cómo se puede usar un punto de referencia en el contexto de un destino.

Si una dirección tiene las etiquetas ADDRESS y ARRIVAL, significa que el punto de referencia es destacado a nivel local y está cerca del destino.

Enumeraciones
TAG_UNSPECIFIED No se usa.
ADDRESS Es un lugar destacado a nivel local que se puede usar para identificar la ubicación general del destino. Por lo general, a unos cientos de metros del destino. Son similares a los puntos de referencia que devuelve la función Address Descriptors de la API de Geocoding: https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
ARRIVAL Es un lugar que se puede usar para ayudar a llegar al destino. Es útil para la navegación cuando estás cerca del destino. Por ejemplo, este punto de referencia podría ser un lugar que se encuentra frente al destino. Por lo general, un punto de referencia con esta etiqueta está más cerca del destino que los puntos de referencia con la etiqueta ADDRESS.

Entrada

Una entrada es un solo par de coordenadas de latitud y longitud que define la ubicación de un punto de entrada y salida de un lugar.

Representación JSON
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
Campos
location

object (LatLng)

Ubicación de la entrada.

tags[]

enum (Entrance.Tag)

Es una lista de etiquetas que describen la entrada.

place

string

Es la estructura en la que se encuentra físicamente esta entrada, en formato places/{placeId}.

Entrance.Tag

Son las características que describen una entrada.

Enumeraciones
TAG_UNSPECIFIED No se usa.
PREFERRED

Es probable que la entrada proporcione acceso físico al lugar principal del destino devuelto. Un lugar puede tener varias entradas preferidas. Si una entrada no tiene esta etiqueta, significa que está físicamente en el mismo edificio que el lugar principal, pero no necesariamente proporciona acceso a él.

Por ejemplo, si el lugar principal es un restaurante en un centro comercial, las entradas "PREFERRED" serán las que probablemente conduzcan al restaurante, mientras que las otras entradas que se devuelvan serán otras entradas al edificio, como las entradas a otros restaurantes del centro comercial.

Si el lugar principal es un edificio, las entradas PREFERRED serán las que conducen a la parte "principal" del edificio. Por ejemplo, en un centro comercial, las entradas PREFERRED serán las que permitan el acceso al área principal del vestíbulo, pero si una entrada solo proporciona acceso a una tienda en el costado del edificio, no será una entrada PREFERRED.

Nota: Una entrada PREFERRED podría no proporcionar acceso al lugar principal, y una entrada que no sea PREFERRED podría proporcionar acceso al lugar principal.