Menetapkan titik jalan menengah

Titik jalan menengah adalah lokasi di antara tempat asal dan tujuan yang ingin Anda lalui oleh rute. Titik jalan perantara dapat berupa perhentian atau Anda dapat menentukannya sebagai lokasi yang akan dilewati. Untuk contoh titik jalan untuk perhentian, lihat Menetapkan perhentian di sepanjang rute. Untuk contoh titik jalan yang akan dilewati, Tetapkan titik untuk rute yang akan dilewati.

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

Untuk setiap titik jalan perantara dalam permintaan, Route object (REST) atau Route object (gRPC) dalam respons akan menambahkan entri ke array legs untuk memberikan detail segmen perjalanan tersebut.

Setiap segmen rute direpresentasikan oleh objek RouteLeg (REST) atau RouteLeg (gRPC). Kontrol kolom RouteLeg yang akan ditampilkan dengan menggunakan mask kolom respons.

Contoh - Menetapkan titik jalan menengah

Contoh berikut menggunakan properti array intermediates untuk menambahkan satu titik jalan menengah ke isi permintaan POST 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 segmen ditunjukkan oleh objek RouteLegStep (REST) atau 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": [
                {
                  ...