Menetapkan titik jalan menengah

Titik jalan perantara adalah lokasi di antara asal dan tujuan yang Anda inginkan untuk dilalui 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 diteruskan, lihat Menetapkan titik untuk rute yang akan diteruskan.

Gunakan properti array intermediates dari metode computeRoutes (REST) atau metode ComputeRoutes (gRPC), untuk menentukan maksimal 25 titik jalan tengah.

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

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

Contoh - Menetapkan titik jalan tengah

Contoh berikut menggunakan properti array intermediates untuk menambahkan satu titik jalan tengah ke isi permintaan POST 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 seluruh 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 mewakili 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": [
                {
                  ...