Menetapkan titik jalan menengah

Titik jalan perantara adalah lokasi di antara tempat asal dan tujuan yang Anda inginkan untuk dilalui rute tersebut. Titik jalan perantara bisa berupa perhentian atau Anda dapat menentukannya sebagai lokasi yang akan dilalui. Misalnya titik jalan untuk perhentian, lihat Menetapkan perhentian di sepanjang rute. Misalnya, titik jalan untuk dilewati, Tetapkan titik untuk rute yang akan dilewati.

Gunakan properti array intermediates dari elemen computeRoutes (REST) atau metode ComputeRoutes (gRPC), untuk menentukan hingga maksimum 25 titik jalan perantara.

Untuk setiap titik jalan perantara dalam permintaan, Objek rute (REST) atau Objek rute (gRPC) di bagian menambahkan entri ke array legs untuk memberikan detail terkait di tahap perjalanan itu.

Setiap segmen rute diwakili oleh elemen RouteLeg (REST) atau Objek RouteLeg (gRPC). Kontrol kolom RouteLeg yang akan ditampilkan menggunakan mask kolom respons.

Contoh - Menetapkan titik jalan perantara

Contoh berikut menggunakan properti array intermediates untuk menambahkan satu titik jalan perantara ke isi permintaan POST dari sebuah rute.

Contoh ini menggunakan mask kolom respons di header X-Goog-FieldMask yang menentukan untuk menampilkan kolom berikut dalam respons:

  • routes.duration
  • routes.distanceMeters
  • routes.legs yang sesuai dengan keseluruhan objek 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'

Respons dari panggilan ini berisi array legs. Setiap langkah kaki itu diwakili oleh RouteLegStep (REST) atau Objek 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": [
                {
                  ...