Method: geocode.destinations.searchDestinations

Cette méthode effectue une recherche de destination et renvoie une liste de destinations.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation 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.
}
Champs
travelModes[]

enum (NavigationPoint.TravelMode)

Facultatif. Modes de déplacement pour lesquels filtrer les points de navigation. Cela a une incidence sur le champ navigationPoints renvoyé dans la réponse. Si ce paramètre est vide, les points de navigation de tous les modes de transport peuvent être renvoyés.

languageCode

string

Facultatif. Langue dans laquelle les résultats doivent être renvoyés.

regionCode

string

Facultatif. Code de région. Code régional, spécifié sous la forme d'une valeur ccTLD (TLD pour top-level domain, domaine de premier niveau) à deux caractères. Ce paramètre a une incidence sur les résultats en fonction de la loi applicable. Ce paramètre influe également sur les résultats du service, sans les limiter totalement.

Champ d'union primary_query. Interrogez la destination principale. Il peut s'agir d'un lieu, d'une adresse complète ou d'une position LatLng. Il ne sera pas possible de transformer en destination certains lieux et adresses pour lesquels les informations sont minimales.

Les destinations sont créées autour de la requête principale spécifiée.

Remarque : Seuls les lieux et les adresses pouvant servir de destination de navigation sont acceptés. Par exemple, un lieu représentant une maison ou un complexe d'appartements peut être utilisé comme requête principale, mais pas un lieu représentant une localité ou une zone administrative. primary_query ne peut être qu'un des éléments suivants :

place

string

Nom de ressource d'un lieu, au format places/{placeId}.

addressQuery

object (SearchDestinationsRequest.AddressQuery)

Adresse postale.

locationQuery

object (SearchDestinationsRequest.LocationQuery)

une position exacte.

Corps de la réponse

Message de réponse pour DestinationService.SearchDestinations.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Champs
destinations[]

object (Destination)

Liste des destinations.

Le service renvoie un résultat si une destination principale peut être identifiée sans ambiguïté à partir de la requête principale. Sinon, le service peut renvoyer plusieurs résultats pour lever l'ambiguïté ou aucun résultat.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

SearchDestinationsRequest.AddressQuery

Adresse postale que vous souhaitez rechercher. Lorsque vous spécifiez les adresses, respectez le format utilisé par les services postaux nationaux du pays concerné.

Représentation 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.
}
Champs
Champ d'union kind. Requête d'adresse. kind ne peut être qu'un des éléments suivants :
address

object (PostalAddress)

Adresse postale.

addressQuery

string

Adresse postale mise en forme sur une seule ligne.

SearchDestinationsRequest.LocationQuery

Requête de localisation permettant d'identifier une destination principale à proximité.

Remarque : Si la requête de localisation se trouve dans un bâtiment contenant des sous-lieux, il est possible que le lieu principal renvoyé soit un sous-lieu. Dans ce cas, le champ "containingPlaces" inclura le bâtiment.

Représentation JSON
{

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
Champs
Champ d'union kind. Requête de localisation. kind ne peut être qu'un des éléments suivants :
location

object (LatLng)

Emplacement LatLng précis.

Destination

Une destination. Cela inclut le lieu principal, les lieux associés, les entrées et les points de navigation.

Représentation JSON
{
  "primary": {
    object (PlaceView)
  },
  "containingPlaces": [
    {
      object (PlaceView)
    }
  ],
  "subDestinations": [
    {
      object (PlaceView)
    }
  ],
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "entrances": [
    {
      object (Entrance)
    }
  ],
  "navigationPoints": [
    {
      object (NavigationPoint)
    }
  ]
}
Champs
primary

object (PlaceView)

Lieu principal identifié par primary_query dans la requête.

containingPlaces[]

object (PlaceView)

Les lieux moins précis dans lesquels se trouve le lieu principal. Par exemple, le complexe d'appartements qui contient ce bâtiment.

subDestinations[]

object (PlaceView)

Sous-destinations plus précises du lieu principal. Par exemple, les unités contenues dans un bâtiment.

Remarque : Par rapport à la SubDestination renvoyée par l'API Places, cette liste de sous-destinations est plus exhaustive et chaque sous-destination contient plus d'informations.

landmarks[]

object (Landmark)

Points de repère pouvant être utilisés pour indiquer où se trouve la destination ou aider à l'arrivée.

entrances[]

object (Entrance)

Entrées pour cette destination.

navigationPoints[]

object (NavigationPoint)

Points de navigation pour cette destination.

PlaceView

Représente une vue d'un lieu dans l'API Places. Il fournit également des informations supplémentaires spécifiques aux destinations, telles que le type de structure et le polygone d'affichage.

Dans certains cas, un PlaceView avec le même ID de lieu peut différer de ce qui est renvoyé par l'API Places pour les champs types et displayName.

Représentation JSON
{
  "place": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  }
}
Champs
place

string

Nom de ressource de ce lieu, au format places/{placeId}.

displayName

object (LocalizedText)

Description du lieu dans un format lisible. Par exemple, "Porte B", "McDonald's"

primaryType

string

Type de lieu principal. Pour obtenir la liste des valeurs possibles, consultez https://developers.google.com/maps/documentation/places/web-service/place-types.

Remarque : Ce champ n'est pas toujours renseigné. Dans ce cas, préparez-vous à utiliser le champ types.

types[]

string

Tous les types de lieux associés à ce lieu. Pour obtenir la liste des valeurs possibles, consultez https://developers.google.com/maps/documentation/places/web-service/place-types.

formattedAddress

string

Adresse sur une seule ligne.

postalAddress

object (PostalAddress)

Adresse structurée.

structureType

enum (PlaceView.StructureType)

Type de structure correspondant à ce lieu.

location

object (LatLng)

Emplacement de ce lieu. Pour les lieux avec des polygones d'affichage, cela peut représenter un bon endroit pour placer un repère sur la carte.

displayPolygon

object (Struct format)

Contour du polygone du lieu au format GeoJSON, en utilisant le format RFC 7946 : https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6.

Remarque : Le format RFC 7946 est compatible avec les MultiPolygones. Un objet displayPolygon peut donc représenter plusieurs polygones.

PlaceView.StructureType

Type de structure que représente ce lieu.

Enums
STRUCTURE_TYPE_UNSPECIFIED Non utilisé.
POINT Emplacement ponctuel.
SECTION Sous-section d'un bâtiment.
BUILDING Un bâtiment.
GROUNDS Vaste zone qui contient généralement plusieurs bâtiments, comme un campus universitaire, un complexe d'appartements ou un centre commercial.

Point de repère

Les points de repère permettent de communiquer l'emplacement de la destination ou d'aider à y arriver.

Représentation 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.
}
Champs
tags[]

enum (Landmark.Tag)

Tags décrivant comment le point de repère peut être utilisé dans le contexte de la destination.

Champ d'union landmark. Le point de repère. landmark ne peut être qu'un des éléments suivants :
place

object (PlaceView)

Lieu représentant ce point de repère.

Landmark.Tag

Liste de tous les tags possibles qui décrivent comment un point de repère peut être utilisé dans le contexte d'une destination.

Si une adresse contient à la fois les balises ADDRESS et ARRIVAL, cela signifie que le point de repère est à la fois connu localement et proche de la destination.

Enums
TAG_UNSPECIFIED Non utilisé.
ADDRESS Un lieu important au niveau local qui peut être utilisé pour identifier la position générale de la destination. Généralement à quelques centaines de mètres de la destination. Ils sont semblables aux points de repère renvoyés par la fonctionnalité de descripteurs d'adresse de l'API Geocoding : https://developers.google.com/maps/documentation/geocoding/address-descriptors/requests-address-descriptors.
ARRIVAL Un lieu qui peut être utilisé pour vous aider à arriver à destination. Utile pour la navigation une fois que vous êtes proche de la destination. Par exemple, ce point de repère peut être un lieu situé en face de la destination. Un point de repère associé à cette balise est généralement plus proche de la destination que ceux associés à la balise ADDRESS.

Entrée

Une entrée est une paire de coordonnées de latitude/longitude qui définit l'emplacement d'un point d'entrée et de sortie pour un lieu.

Représentation JSON
{
  "location": {
    object (LatLng)
  },
  "tags": [
    enum (Entrance.Tag)
  ],
  "place": string
}
Champs
location

object (LatLng)

Emplacement de l'entrée.

tags[]

enum (Entrance.Tag)

Liste des tags décrivant l'entrée.

place

string

Structure sur laquelle se trouve physiquement cette entrée, au format places/{placeId}.

Entrance.Tag

Caractéristiques décrivant une entrée.

Enums
TAG_UNSPECIFIED Non utilisé.
PREFERRED

L'entrée permet probablement d'accéder physiquement au lieu principal de la destination renvoyée. Un lieu peut comporter plusieurs entrées préférées. Si une entrée ne comporte pas ce tag, cela signifie qu'elle se trouve physiquement dans le même bâtiment que le lieu principal, mais qu'elle ne donne pas nécessairement accès au lieu.

Par exemple, si le lieu principal est un restaurant dans un centre commercial, les entrées "PRÉFÉRÉES" seront celles qui mènent probablement au restaurant lui-même, tandis que les autres entrées renvoyées seront d'autres entrées du bâtiment, comme celles d'autres restaurants du centre commercial.

Si le lieu principal est un bâtiment, les entrées PREFERRED seront celles qui mènent à la partie "principale" du bâtiment. Par exemple, dans un centre commercial, les entrées PREFERRED sont celles qui permettent d'accéder à la zone principale, mais si une entrée ne permet d'accéder qu'à un magasin sur le côté du bâtiment, il ne s'agit pas d'une entrée PREFERRED.

Remarque : Une entrée PREFERRED ne donne pas forcément accès au lieu principal, et une entrée non PREFERRED peut donner accès au lieu principal.