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 sont renvoyés.

languageCode

string

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

regionCode

string

Facultatif. Code régional. 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 région 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
  • https://www.googleapis.com/auth/maps-platform.destinations

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 inclut le bâtiment.

Représentation JSON
{
  "placeFilter": {
    object (SearchDestinationsRequest.LocationQuery.PlaceFilter)
  },

  // Union field kind can be only one of the following:
  "location": {
    object (LatLng)
  }
  // End of list of possible types for union field kind.
}
Champs
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

Facultatif. Filtres à appliquer aux candidats de destination.

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.

SearchDestinationsRequest.LocationQuery.PlaceFilter

Filtres à appliquer aux candidats de destination.

Représentation JSON
{
  "structureType": enum (PlaceView.StructureType),
  "addressability": enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)
}
Champs
structureType

enum (PlaceView.StructureType)

Facultatif. Si cette valeur est spécifiée, toutes les destinations sont garanties d'avoir un lieu principal avec ce type de structure. Cela peut entraîner le filtrage de certaines destinations ou l'affinage/l'élargissement des destinations renvoyées.

Par exemple, si GROUNDS est spécifié, toutes les destinations renvoyées auront un lieu principal avec le type de structure GROUNDS. Cela peut entraîner le filtrage de certaines destinations qui ne font pas partie d'un lieu ou l'agrégation des destinations renvoyées au niveau du lieu.

Ce champ permet également d'extraire plus facilement les polygones d'affichage des bâtiments. Par exemple, si BUILDING est spécifié, le polygone d'affichage du lieu principal correspondra au bâtiment situé à l'emplacement indiqué.

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

Facultatif. Si cette valeur est spécifiée, seules les destinations qui répondent aux critères d'adressabilité correspondants sont renvoyées.

PlaceView.StructureType

Type de structure que représente ce lieu.

Enums
STRUCTURE_TYPE_UNSPECIFIED Non utilisé.
POINT Un 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.

SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability

Définit les options de filtrage de l'adressabilité. De nouvelles valeurs pourront être ajoutées à l'avenir.

Enums
ADDRESSABILITY_UNSPECIFIED Si aucune valeur n'est spécifiée, le service choisit une valeur par défaut appropriée.
ANY L'adressabilité n'est pas un critère de filtrage. Les destinations sont renvoyées, qu'elles soient adressables ou non.
PRIMARY Toutes les destinations renvoyées auront un lieu principal avec une adresse ou un nom au niveau de la rue.
WEAK Toutes les destinations renvoyées auront un lieu principal ou une sous-destination avec une adresse ou un nom de rue.

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)
    }
  ],
  "parkingOptions": {
    object (Destination.ParkingOptions)
  },
  "arrivalSummary": {
    object (Destination.ArrivalSummary)
  }
}
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 pour aider à l'arrivée.

entrances[]

object (Entrance)

Entrées pour cette destination.

navigationPoints[]

object (NavigationPoint)

Points de navigation pour cette destination.

parkingOptions

object (Destination.ParkingOptions)

Options de stationnement pour cette destination.

arrivalSummary

object (Destination.ArrivalSummary)

Résumé généré par IA de l'expérience à l'arrivée à la 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}. Peut être utilisé pour rechercher le lieu.

placeId

string

Identifiant unique d'un lieu.

displayName

object (LocalizedText)

Description du lieu lisible par l'utilisateur. 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.

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
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

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

object (LocalizedText)

Description lisible par l'humain du lien entre la destination et le point de repère. Par exemple : "Près de l'Empire State Building" ou "En face de la Maison-Blanche".

tags[]

enum (Landmark.Tag)

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

straightLineDistanceMeters

number

Uniquement en sortie. Distance en ligne droite (en mètres) entre ce point de repère et la destination.

travelDistanceMeters

number

Uniquement en sortie. Distance (en mètres) entre ce repère et la destination sur le réseau routier.

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,
  "streetViewThumbnail": {
    object (StreetViewThumbnail)
  },
  "streetViewAnnotation": {
    object (ImageAnnotation)
  }
}
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}.

streetViewThumbnail

object (StreetViewThumbnail)

Vignette Street View montrant l'entrée. L'image peut être demandée à l'API Street View Static. Consultez https://developers.google.com/maps/documentation/streetview/request-streetview.

streetViewAnnotation

object (ImageAnnotation)

Annotation de l'entrée sur le streetViewThumbnail renvoyé ci-dessus.

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 au hall principal. En revanche, si une entrée ne permet d'accéder qu'à un magasin situé 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.

StreetViewThumbnail

Paramètres permettant de représenter une miniature Google Street View. Ces paramètres peuvent être utilisés pour demander une image Street View à l'API Street View Static. Consultez https://developers.google.com/maps/documentation/streetview/request-streetview.

Représentation JSON
{
  "pano": string,
  "widthPx": integer,
  "heightPx": integer,
  "headingDegree": number,
  "pitchDegree": number,
  "fovDegree": number
}
Champs
pano

string

ID d'un panorama spécifique.

widthPx

integer

Largeur de la miniature générée en pixels. Remarque : Lorsque vous demandez des annotations avec la miniature, ces valeurs de hauteur et de largeur doivent être utilisées dans la requête API Street View pour que les coordonnées des annotations s'alignent correctement sur l'image.

heightPx

integer

Hauteur de la miniature générée, en pixels. Remarque : Lorsque vous demandez des annotations avec la miniature, ces valeurs de hauteur et de largeur doivent être utilisées dans la requête API Street View pour que les coordonnées des annotations s'alignent correctement sur l'image.

headingDegree

number

Orientation horizontale de la caméra en degrés. Plage [0, 360). où 0 indique le nord et 90 indique l'est.

pitchDegree

number

Orientation verticale de la caméra en degrés. Plage [-90, 90]. 0 correspond à l'horizon, +90 à la verticale vers le haut et -90 à la verticale vers le bas.

fovDegree

number

Champ de vision horizontal en degrés. Plage (0, 180]. Contrôle le niveau de zoom. Plus le champ de vision est petit, plus le zoom est important.

ImageAnnotation

Annotation sur une vignette d'image, comme un polygone délimitant une entrée.

Représentation JSON
{
  "coordinates": [
    {
      object (ImageAnnotation.Coordinate)
    }
  ]
}
Champs
coordinates[]

object (ImageAnnotation.Coordinate)

Liste de coordonnées formant un polygone sur l'image. Les coordonnées sont triées dans le sens inverse des aiguilles d'une montre.

ImageAnnotation.Coordinate

Coordonnée en pixels d'un point sur l'image. L'origine (0,0) correspond à l'angle supérieur gauche du pixel supérieur gauche de l'image, l'axe X pointant vers la droite et l'axe Y vers le bas.

Représentation JSON
{
  "xPx": number,
  "yPx": number
}
Champs
xPx

number

Coordonnée X.

yPx

number

Coordonnées Y.

Destination.ParkingOptions

Informations sur les options de stationnement à la destination.

Représentation JSON
{
  "availability": enum (Destination.ParkingOptions.Availability),
  "onsiteParking": boolean,
  "freeParkingLot": boolean,
  "paidParkingLot": boolean,
  "freeStreetParking": boolean,
  "paidStreetParking": boolean,
  "valetParking": boolean,
  "freeGarageParking": boolean,
  "paidGarageParking": boolean
}
Champs
availability

enum (Destination.ParkingOptions.Availability)

Disponibilité d'un parking pour cette destination.

onsiteParking

boolean

Un parking est disponible sur place à la destination.

freeParkingLot

boolean

Propose des parkings sans frais.

paidParkingLot

boolean

Propose des parkings payants.

freeStreetParking

boolean

Le stationnement sur rue est sans frais.

paidStreetParking

boolean

Stationnement payant sur rue

valetParking

boolean

Propose un service de voiturier.

freeGarageParking

boolean

Dispose d'un parking couvert sans frais.

paidGarageParking

boolean

Dispose d'un parking couvert payant.

Destination.ParkingOptions.Availability

Mesure globale de la difficulté à trouver une place de stationnement lorsque vous visitez ce lieu.

De nouvelles valeurs pourront être ajoutées à l'avenir.

Enums
AVAILABILITY_UNSPECIFIED Les informations sur les places de parking disponibles ne sont pas disponibles.
PLENTY De nombreuses places de parking sont disponibles.
SOMEWHAT_DIFFICULT Il est plutôt difficile de trouver une place de parking.
DIFFICULT Il est très difficile de trouver une place de stationnement.

Destination.ArrivalSummary

Résumé généré par IA de l'expérience à l'arrivée à la destination.

Représentation JSON
{
  "text": {
    object (LocalizedText)
  },
  "flagContentUrl": string,
  "disclosureText": {
    object (LocalizedText)
  }
}
Champs
text

object (LocalizedText)

Résumé de l'expérience à l'arrivée à destination.

flagContentUrl

string

Lien permettant aux utilisateurs de signaler un problème concernant le résumé.

disclosureText

object (LocalizedText)

Uniquement en sortie. Contient le texte de divulgation pour le récapitulatif de l'arrivée.