Impostare tappe intermedi

Sviluppatori dello Spazio economico europeo (SEE)

Le tappe intermedie sono posizioni tra l'origine e la destinazione che vuoi che l'itinerario attraversi. Una tappa intermedia può essere una sosta oppure puoi specificarla come posizione di passaggio. Per un esempio di waypoint per una fermata, vedi Impostare una fermata lungo un percorso. Per un esempio di waypoint di transito, Imposta un punto di transito per un percorso.

Utilizza la proprietà array intermediates del metodo computeRoutes (REST) o del metodo ComputeRoutes (gRPC) per definire fino a un massimo di 25 tappe intermedie.

Per ogni waypoint intermedio nella richiesta, l'oggetto Route (REST) o l'oggetto Route (gRPC) nella risposta aggiunge una voce all'array legs per fornire i dettagli di quella tratta del viaggio.

Ogni tratta di un percorso è rappresentata da un oggetto RouteLeg (REST) o RouteLeg (gRPC). Controlla quali campi RouteLeg restituire utilizzando la maschera del campo di risposta.

Esempio: impostare una tappa intermedia

Il seguente esempio utilizza la proprietà array intermediates per aggiungere un singolo waypoint intermedio al corpo della richiesta POST di un percorso.

Questo esempio utilizza una maschera del campo di risposta nell'intestazione X-Goog-FieldMask che specifica di restituire i seguenti campi nella risposta:

  • routes.duration
  • routes.distanceMeters
  • routes.legs corrispondente all'intero oggetto RouteLeg.
curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 37.419734,
        "longitude": -122.0827784
      }
    },
    "sideOfRoad": true
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude": 37.417670,
        "longitude": -122.079595
      }
    }
  },
  "intermediates": [
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2022-10-15T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "IMPERIAL"
}'
-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'

La risposta a questa chiamata contiene l'array legs. Ogni passaggio dell'itinerario è rappresentato da un oggetto RouteLegStep (REST) o RouteLegStep (gRPC).

{
  "routes": [
    {
      "legs": [
        # First leg
        {
            "distanceMeters": 207,
            "duration": "89s",
            "staticDuration": "89s",
            "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.4197318,
                    "longitude": -122.0826233
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "steps": [            {
              "distanceMeters": 21,
              "staticDuration": "6s",
              "polyline": {
                "encodedPolyline": "ipkcFjgchVd@@"
              },
              "startLocation": {
                "latLng": {
                  "latitude": 37.4197318,
                  "longitude": -122.0826233
                }
              },
              "endLocation": {
                "latLng": {
                  "latitude": 37.41954,
                  "longitude": -122.08262750000002
                }
              }
            },
            ...
        },
        # Second leg
        {
            "distanceMeters": 598,
            "duration": "159s",
            "staticDuration": "159s",
            "polyline": {
                "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?"
            },
            "startLocation": {
                "latLng": {
                    "latitude": 37.419734,
                    "longitude": -122.08077919999998
                }
            },
            "endLocation": {
                "latLng": {
                    "latitude": 37.417616599999995,
                    "longitude": -122.07938820000001
                }
            },
            "steps": [
                {
                  ...