Migrer les fonctionnalités de la version 3 vers le point de terminaison SearchDestinations

Développeurs de l'Espace économique européen (EEE)

Les fonctionnalités suivantes de l'API Geocoding v3 sont remplacées par le point de terminaison SearchDestinations de l'API Geocoding v4 :

  • Entrées
  • Points de navigation
  • Contour des bâtiments
  • Domaine

Si vous utilisiez l'API Geocoding v3 pour les fonctionnalités ci-dessus, consultez ce document pour savoir comment utiliser le point de terminaison SearchDestinations à la place. Ce document explique où trouver ces fonctionnalités dans la réponse de l'API SearchDestinations et les différences dans la façon dont ces fonctionnalités sont représentées dans les réponses de l'API entre l'API Geocoding v3 et le point de terminaison SearchDestinations de l'API Geocoding v4.

Entrées

Pour obtenir les entrées associées à un destination, utilisez le champ destination.entrances.

Notez que le format d'un entrance est légèrement différent du format d'entrée dans l'API Geocoding v3. Chaque entrée de destination.entrances comporte les champs suivants :

  • displayName : nouveau champ facultatif qui contient un nom lisible pour l'entrée, par exemple "Portail B".
  • location : il s'agit d'un emplacement de type LatLng, qui est différent du format utilisé dans l'API Geocoding v3.
  • tags : identique au champ tags des entrées de l'API Geocoding v3.
  • place : analogue au champ buildingPlaceId des entrées de l'API Geocoding v3. Toutefois, l'ID de lieu dans ce champ peut correspondre à un lieu de n'importe quel type, et pas nécessairement à un bâtiment.

Pour obtenir les points de navigation associés à un destination, utilisez le champ destination.navigationPoints.

Notez que le format d'un navigationPoint est légèrement différent du format de point de navigation dans l'API Geocoding v3. Chaque point de navigation dans destination.navigationPoints comporte les champs suivants :

  • displayName : nouveau champ facultatif qui contient un nom lisible pour le point de navigation, par exemple "5e Avenue".
  • location : il s'agit d'un emplacement de type LatLng, qui est différent du format utilisé dans l'API Geocoding v3.
  • travelModes : ce champ est semblable au champ restrictedTravelModes des points de navigation de l'API Geocoding v3. Les valeurs enum possibles sont les mêmes. La seule différence est que ce champ représente désormais les modes de déplacement acceptables pour le point de navigation, plutôt que les modes de déplacement restreints.
  • usage : nouveau champ contenant les cas d'utilisation compatibles avec le point de navigation. Notez que la plupart des points de navigation auront une utilisation UNKNOWN, mais cela ne signifie pas nécessairement que l'utilisation du point de navigation est limitée de quelque manière que ce soit.

Contour des bâtiments

Pour obtenir les contours des bâtiments associés à un destination, vous devez utiliser le champ displayPolygon des objets placeView du destination qui représentent les bâtiments. Pour chaque placeView, vous pouvez vérifier s'il s'agit d'un bâtiment à l'aide du champ placeView.structureType. Si le type de structure est BUILDING, vous pouvez obtenir le plan à partir du champ placeView.displayPolygon. L'placeView comportera également des champs supplémentaires pour le bâtiment qui n'étaient pas présents dans l'API Geocoding v3.

Un destination peut avoir un objet placeView qui représente un bâtiment dans les champs suivants :

  • destination.primary : il s'agit de l'emplacement principal de la destination.
  • destination.containingPlaces : il s'agit d'un champ répété qui peut contenir des lieux plus grands qui "contiennent" le lieu principal. Par exemple, si le lieu principal est un subpremise, containingPlaces contient généralement le placeView représentant le bâtiment.
  • destination.subDestinations : il s'agit d'un champ répété pouvant contenir des sous-destinations du lieu principal. Par exemple, les appartements individuels d'un immeuble. Ce champ ne contient généralement pas de placeView représentant un bâtiment.

Notez que le format de placeView.displayPolygon correspond au format des contours de bâtiments dans l'API Geocoding v3, qui est le format GeoJSON, à l'aide du format RFC 7946.

Domaine

Comme pour les contours de bâtiments, pour obtenir les terrains associés à un destination, vous devez utiliser le champ displayPolygon des objets placeView dans le destination qui représentent les terrains. Pour chaque placeView, vous pouvez vérifier s'il s'agit d'un motif grâce au champ placeView.structureType. Si le type de structure est GROUNDS, vous pouvez obtenir le plan à partir du champ placeView.displayPolygon. L'placeView comportera également des champs supplémentaires pour les motifs qui ne figuraient pas dans l'API Geocoding v3.

Un destination peut avoir un objet placeView qui représente un motif dans les champs suivants :

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

Notez que le format de placeView.displayPolygon correspond au format de contour des terrains dans l'API Geocoding v3, qui est le format GeoJSON, à l'aide du format RFC 7946.

Utiliser un masque de champ pour demander ces fonctionnalités

Le point de terminaison SearchDestinations nécessite un masque de champ, comme expliqué dans Choisir les champs à renvoyer. Le masque de champ peut être défini sur * pour renvoyer tous les champs, ou vous pouvez le définir sur les champs spécifiques que vous souhaitez recevoir. Par exemple, la requête API suivante définit le masque de champ pour recevoir tous les champs requis pour obtenir les entrées, les points de navigation, les contours des bâtiments et les terrains d'une destination :

curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
  -H "X-Goog-Api-Key: API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations