Impostare tappe intermedi

Sviluppatori dello Spazio economico europeo (SEE)

Le tappe intermedie sono posizioni specificate tra l'origine e la destinazione che vuoi che il percorso attraversi.

Puoi definire fino a 25 tappe intermedie in una singola richiesta utilizzando la proprietà intermediates dell'array del metodo REST computeRoutes o del metodo gRPC ComputeRoutes.

Soste rispetto ai waypoint di transito

Puoi configurare una tappa intermedia come punto di sosta o punto di passaggio:

  • Sosta: per impostazione predefinita, il veicolo si ferma nella posizione. Ogni waypoint di sosta divide il percorso aggiungendo una voce RouteLeg all'array legs nella risposta. Per saperne di più, vedi Impostare una tappa lungo un itinerario.
  • Tappa di transito con "via" impostato su true: il veicolo passa per la posizione senza fermarsi. I waypoint pass-through non aggiungono voci all'array legs. Per saperne di più, vedi Impostare un punto di passaggio per un itinerario.

Tratte del percorso e tappe intermedie

Per ogni sosta intermedia in una richiesta, la risposta contiene un oggetto RouteLeg separato nell'array routes.legs.

Ad esempio, un itinerario con un'origine, una sosta intermedia e una destinazione contiene due tratte: * Tratta 1: dall'origine alla sosta intermedia. * Tratta 2: dalla sosta intermedia alla destinazione.

Esempio: richiesta con un waypoint intermedio

L'esempio seguente utilizza l'array intermediates per aggiungere una singola sosta intermedia a un itinerario.

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'

Risposta con più tappe dell'itinerario

Poiché il waypoint intermedio nella richiesta è una sosta che non imposta "via": true, la risposta divide l'itinerario in due tappe nell'array legs:

{
  "routes": [
    {
      "distanceMeters": 805,
      "duration": "248s",
      "legs": [
        {
          "distanceMeters": 207,
          "duration": "89s",
          "startLocation": {
            "latLng": {
              "latitude": 37.4197318,
              "longitude": -122.0826233
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          }
        },
        {
          "distanceMeters": 598,
          "duration": "159s",
          "startLocation": {
            "latLng": {
              "latitude": 37.419734,
              "longitude": -122.0807792
            }
          },
          "endLocation": {
            "latLng": {
              "latitude": 37.4176166,
              "longitude": -122.0793882
            }
          }
        }
      ]
    }
  ]
}