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,
  "effort": enum (SearchDestinationsRequest.Effort),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": string,
  "addressQuery": {
    object (SearchDestinationsRequest.AddressQuery)
  },
  "locationQuery": {
    object (SearchDestinationsRequest.LocationQuery)
  }
  // End of mutually exclusive fields.
}
Champs
travelModes[]

enum (NavigationPoint.TravelMode)

Facultatif. Modes de transport pour lesquels filtrer les points de navigation. Cela a une incidence sur le champ navigationPoints renvoyé dans la réponse. Si ce champ 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 (domaine de premier niveau) à deux caractères. Le paramètre affecte les résultats en fonction de la législation applicable. Ce paramètre influence également les résultats du service, mais ne les limite pas complètement.

effort

enum (SearchDestinationsRequest.Effort)

Facultatif. Niveau d'effort demandé par le client.

Requête pour la destination principale. Il peut s'agir d'un lieu, d'une adresse complète ou d'un emplacement LatLng. Certains lieux et adresses ne pourront pas être transformés en destination, car les informations les concernant sont insuffisantes.

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

Remarque : Seuls les lieux et les adresses pouvant avoir une 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 les lieux représentant une localité ou une région administrative. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :

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.

Fin des champs mutuellement exclusifs.

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 de 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 la désambiguïsation 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
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "address": {
    object (PostalAddress)
  },
  "addressQuery": string
  // End of mutually exclusive fields.
}
Champs
Requête d'adresse. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
address

object (PostalAddress)

Une adresse postale au format d'adresse postale.

addressQuery

string

Adresse postale mise en forme sur une seule ligne.

Fin des champs mutuellement exclusifs.

SearchDestinationsRequest.LocationQuery

Une requête de localisation pour identifier une destination principale à proximité.

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

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "location": {
    object (LatLng)
  }
  // End of mutually exclusive fields.
}
Champs
placeFilter

object (SearchDestinationsRequest.LocationQuery.PlaceFilter)

Facultatif. Filtres à appliquer aux destinations candidates.

La requête de localisation. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
location

object (LatLng)

Un emplacement LatLng précis.

Fin des champs mutuellement exclusifs.

SearchDestinationsRequest.LocationQuery.PlaceFilter

Filtres à appliquer aux destinations candidates.

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

enum (PlaceView.StructureType)

Facultatif. Si cette option 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'élargissement/l'affinement 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 terrain, ou l'approximation des destinations renvoyées au niveau du terrain.

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 spécifié.

addressability

enum (SearchDestinationsRequest.LocationQuery.PlaceFilter.Addressability)

Facultatif. Si cette option 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 ce lieu représente.

Enums
STRUCTURE_TYPE_UNSPECIFIED Non utilisé.
POINT Un point géographique.
SECTION Sous-section d'un bâtiment.
BUILDING Un bâtiment.
GROUNDS Une grande 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 au niveau de la rue.

SearchDestinationsRequest.Effort

Niveau d'effort alloué à la résolution des destinations.

Enums
EFFORT_UNSPECIFIED Valeur par défaut.
LOW Optimise pour obtenir les temps de réponse les plus rapides. Effectue une recherche directe de la destination sans parcourir la hiérarchie étendue ni effectuer de désambiguïsation complexe des lieux.
MEDIUM Équilibre entre vitesse et précision. La plupart des requêtes sont renvoyées avec une faible latence standard. Pour les requêtes ambiguës, les sites comportant plusieurs bâtiments ou les lieux difficiles, le service applique un traitement supplémentaire pour résoudre les destinations et le contexte hiérarchique, avec une latence limitée pouvant prendre jusqu'à quelques secondes. Recommandé pour les workflows interactifs où les utilisateurs peuvent tolérer une brève pause.
HIGH Maximise la précision et l'exhaustivité de la résolution de la destination pour les lieux complexes, informels ou étendus (comme les grands campus ou les complexes d'appartements). Les temps de réponse peuvent être beaucoup plus longs. Recommandé pour les workflows d'arrière-plan, de traitement par lot, de répartition ou de pré-routage logistique.

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)

Le lieu principal identifié par le primary_query dans la requête.

containingPlaces[]

object (PlaceView)

Lieux moins précis dans lesquels se trouve le lieu principal. Par exemple, la résidence dans laquelle se trouve 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 à l'objet SubDestination renvoyé 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 permettant d'indiquer où se trouve la destination ou d'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 d'arrivée à 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,
  "placeId": string,
  "displayName": {
    object (LocalizedText)
  },
  "primaryType": string,
  "types": [
    string
  ],
  "formattedAddress": string,
  "postalAddress": {
    object (PostalAddress)
  },
  "structureType": enum (PlaceView.StructureType),
  "location": {
    object (LatLng)
  },
  "displayPolygon": {
    object
  },
  "addressComponents": [
    {
      object (PlaceView.AddressComponent)
    }
  ]
}
Champs
place

string

Nom de la 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'humain. Par exemple, "Porte B", "McDonald's"

primaryType

string

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

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. Consultez https://developers.google.com/maps/documentation/places/web-service/place-types pour obtenir la liste des valeurs possibles.

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)

L'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 MultiPolygons. Un objet displayPolygon peut donc représenter plusieurs polygones.

addressComponents[]

object (PlaceView.AddressComponent)

Composants répétés pour chaque niveau de localité.

PlaceView.AddressComponent

Composants structurés qui forment l'adresse formatée, si ces informations sont disponibles.

Représentation JSON
{
  "longText": string,
  "shortText": string,
  "types": [
    string
  ],
  "languageCode": string
}
Champs
longText

string

Description complète ou nom du composant d'adresse. Par exemple, un composant d'adresse pour l'Australie peut avoir "Australie" comme nom complet.

shortText

string

Nom textuel abrégé pour le composant d'adresse, s'il est disponible. Par exemple, un composant d'adresse pour l'Australie peut avoir le nom court "AU".

types[]

string

Tableau indiquant le ou les types du composant d'adresse.

Ces valeurs sont extraites du tableau des types d'adresses et de composants d'adresse utilisé par l'API Places : https://developers.google.com/maps/documentation/places/web-service/place-types#address-types

languageCode

string

Langue utilisée pour formater ce composant, en notation CLDR.

Point de repère

Les points de repère sont utilisés pour indiquer où se trouve la destination ou pour aider à l'atteindre.

Représentation JSON
{
  "relationalDescription": {
    object (LocalizedText)
  },
  "tags": [
    enum (Landmark.Tag)
  ],
  "straightLineDistanceMeters": number,
  "travelDistanceMeters": number,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "place": {
    object (PlaceView)
  }
  // End of mutually exclusive fields.
}
Champs
relationalDescription

object (LocalizedText)

Description lisible par l'humain de la relation 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 entre ce repère et la destination, en mètres.

travelDistanceMeters

number

Uniquement en sortie. Distance à pied entre ce point de repère et la destination, en mètres.

Le repère. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
place

object (PlaceView)

Lieu qui représente ce repère.

Fin des champs mutuellement exclusifs.

Landmark.Tag

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

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

Enums
TAG_UNSPECIFIED Non utilisé.
ADDRESS Lieu connu localement qui peut être utilisé pour identifier la position générale de la destination. En général, à quelques centaines de mètres de la destination. Ils sont semblables aux repères 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 Lieu pouvant être utilisé pour aider à arriver à destination. Utile pour la navigation lorsque vous êtes proche de la destination. Par exemple, il peut s'agir d'un lieu situé de l'autre côté de la rue par rapport à la destination. Un point de repère associé à ce tag est généralement plus proche de la destination que les points de repère associés au tag ADDRESS.

Entrée

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

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

object (LocalizedText)

Nom lisible par l'humain, par exemple "Porte B", "Entrée sud", "Entrée 5e avenue".

location

object (LatLng)

Emplacement de l'entrée.

tags[]

enum (Entrance.Tag)

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

place

string

Structure sur laquelle cette entrée est physiquement situé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 fournit probablement un accès physique au lieu principal de la destination renvoyée. Un lieu peut avoir 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 permet pas nécessairement d'accéder à ce lieu.

Par exemple, si le lieu principal est un restaurant dans un centre commercial, les entrées "PREFERRED" 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 les entrées 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 seront 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'agira pas d'une entrée PREFERRED.

Remarque : Une entrée PREFERRED peut ne pas donner 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

Un ID de panorama spécifique.

widthPx

integer

Largeur de l'image miniature de sortie en pixels. Remarque : Lorsque vous demandez des annotations en plus de la miniature, vous devez utiliser ces valeurs de hauteur et de largeur dans la requête API Street View pour vous assurer que les coordonnées des annotations sont correctement alignées avec l'image.

heightPx

integer

Hauteur de l'image miniature de sortie en pixels. Remarque : Lorsque vous demandez des annotations en plus de la miniature, vous devez utiliser ces valeurs de hauteur et de largeur dans la requête API Street View pour vous assurer que les coordonnées des annotations sont correctement alignées avec l'image.

headingDegree

number

Orientation horizontale de la caméra en degrés. Plage [0, 360). 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 la miniature d'une image, par exemple 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 classé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) est l'angle supérieur gauche du pixel supérieur gauche de l'image, l'axe des abscisses pointant vers la droite et l'axe des ordonnées vers le bas.

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

number

Coordonnées X.

yPx

number

Coordonnées Y.

Destination.ParkingOptions

Informations sur les options de stationnement pour la destination.

Représentation JSON
{
  "availability": enum (Destination.ParkingOptions.Availability),
  "parkingFacilities": [
    {
      object (Destination.ParkingOptions.ParkingFacility)
    }
  ],
  "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.

parkingFacilities[]

object (Destination.ParkingOptions.ParkingFacility)

Les parkings de cette destination.

onsiteParking

boolean

Un parking sur place est disponible à destination.

freeParkingLot

boolean

Propose des parkings sans frais.

paidParkingLot

boolean

Propose des parkings payants.

freeStreetParking

boolean

Parking gratuit dans la rue.

paidStreetParking

boolean

Propose un parking payant dans la rue.

valetParking

boolean

Propose un service de voiturier.

freeGarageParking

boolean

Le parking couvert est sans frais.

paidGarageParking

boolean

Propose un parking couvert payant.

Destination.ParkingOptions.Availability

Mesure agrégée 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 La disponibilité des places de parking n'est pas disponible.
PLENTY Il est facile de se garer.
SOMEWHAT_DIFFICULT Il est plutôt difficile de trouver une place de parking.
DIFFICULT Il est très difficile de trouver une place de parking.

Destination.ParkingOptions.ParkingFacility

Une option de stationnement individuelle et distincte (par exemple, un parking couvert ou un parking spécifique) associée à la destination. Il fournit des informations détaillées sur un parking spécifique, tandis que le message ParkingOptions parent fournit un résumé agrégé de tous les parkings disponibles.

Représentation JSON
{
  "place": {
    object (PlaceView)
  },
  "onsite": boolean,
  "popular": boolean,
  "straightLineDistanceMeters": number
}
Champs
place

object (PlaceView)

Représentation du lieu de ce parking spécifique.

onsite

boolean

Indique si ce parking est situé sur le site de la destination principale. Si ce champ n'est pas défini, l'état sur site est inconnu.

popular

boolean

Indique si ce parking est un choix populaire pour les visiteurs se rendant à la destination principale. Si ce champ n'est pas défini, l'état de popularité est inconnu.

straightLineDistanceMeters

number

Distance en ligne droite (en mètres) entre la destination principale et ce parking.

Destination.ArrivalSummary

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

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

object (LocalizedText)

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

flagContentUrl

string

Un lien permettant aux utilisateurs de signaler un problème avec le résumé.

disclosureText

object (LocalizedText)

Uniquement en sortie. Contient le texte de divulgation du récapitulatif d'arrivée.