Impostare tappe intermedi

Le tappe intermedie sono luoghi tra il luogo di partenza e la destinazione che vuoi deve percorrere il percorso. Una tappa intermedia può essere una fermata puoi specificarlo come luogo da attraversare. Ad esempio di una tappa per una fermata, consulta Impostare una fermata lungo un percorso. Ad esempio, una tappa da attraversare, Imposta il punto per un percorso da attraversare.

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

Per ogni tappa intermedia nella richiesta, Oggetto route (REST) o Oggetto route (gRPC) nel di risposta aggiunge una voce all'array legs per fornire i dettagli per quella tappa del viaggio.

Ogni tratto di un percorso è rappresentato da un RouteLeg (REST) o Oggetto RouteLeg (gRPC). Controlla quali campi RouteLeg restituire utilizzando il metodo maschera del campo di risposta.

Esempio: imposta una tappa intermedia

L'esempio seguente utilizza la proprietà array intermediates per aggiungere un singolo waypoint intermedio al corpo della richiesta POST di una route.

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 passo della gamba rappresentato da un RouteLegStep (REST) o Oggetto 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": [
                {
                  ...