Définir un arrêt sur un itinéraire

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

Vous pouvez définir un arrêt sur un itinéraire, par exemple pour une prise en charge ou une dépose, de deux manières :

  • Ajouter un point de repère intermédiaire : il s'agit de l'option par défaut. Ajoutez un point de cheminement intermédiaire entre le point de départ et la destination dans le tableau intermediates. Le moteur de routage accroche le point de cheminement à la route praticable la plus proche et divise l'itinéraire en RouteLeg segments reliés par cet arrêt.
  • Spécifiez un véhiculeStopover : si vous souhaitez que le moteur de routage effectue une analyse supplémentaire pour éviter les sections de route inadaptées à l'arrêt (autoroutes, tunnels ou ponts, par exemple), définissez vehicleStopover: true sur un point de cheminement.

Ajouter un point de repère intermédiaire

Pour définir un arrêt sur un itinéraire, ajoutez un point de chemin intermédiaire au tableau intermediates de votre requête.

L'ajout d'un point de repère intermédiaire a les effets suivants :

  • L'itinéraire est divisé en RouteLeg segments : chaque segment relie un arrêt au suivant.
  • Les coordonnées sont associées à une route : le moteur de routage associe vos coordonnées de latitude et de longitude, qui peuvent se trouver sur un toit ou dans une cour, au segment de route navigable le plus proche.

Pour de nombreuses routes de surface, l'accrochage à la route la plus proche fournit un emplacement d'arrêt pratique. Toutefois, l'accrochage ne détermine pas si ce tronçon de route est adapté pour se garer, par exemple lorsque la route la plus proche est une autoroute ou un tunnel.

Exemple : Ajouter un point de cheminement intermédiaire

L'exemple suivant montre comment définir un arrêt sur un itinéraire en ajoutant un point de chemin intermédiaire dans une requête POST computeRoutes :

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Pour en savoir plus sur les points de cheminement intermédiaires et les étapes de l'itinéraire, consultez Définir des points de cheminement intermédiaires.

Spécifier un véhiculeStopover pour la compatibilité avec l'enlèvement et la dépose

Alors qu'un point de chemin intermédiaire standard s'aligne sur la route la plus proche, cette route n'est pas toujours adaptée à un arrêt de véhicule. Lorsque vous souhaitez que le moteur de routage effectue une analyse supplémentaire pour évaluer l'adéquation des routes pour la prise en charge ou la dépose, définissez vehicleStopover: true sur le point de cheminement.

Lorsque vous définissez vehicleStopover: true, le moteur de routage évalue les segments de route candidats et tente d'éviter les routes qui ne conviennent pas pour s'arrêter, comme les autoroutes, les tunnels et les ponts.

Par exemple, imaginez un endroit où une route de surface passe directement au-dessus d'une autoroute à l'intérieur d'un tunnel : * Point de repère intermédiaire standard : s'aligne sur l'autoroute ou le tunnel en dessous s'il est géométriquement plus proche de vos coordonnées. * Escale du véhicule : effectue une analyse supplémentaire pour contourner l'autoroute et le tunnel, et place l'arrêt sur une route de surface adaptée pour se garer.

Exemple : Spécifier vehicleStopover sur un point de chemin

L'exemple suivant montre comment définir vehicleStopover: true sur un point de chemin intermédiaire dans une requête POST complète :

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      },
      "vehicleStopover": true
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Pour en savoir plus sur les types et les options de points de cheminement, consultez Types et options de points de cheminement.