Menetapkan titik jalan menengah

Developer Wilayah Ekonomi Eropa (EEA)

Titik jalan perantara adalah lokasi yang ditentukan di antara asal dan tujuan yang ingin Anda lewati.

Anda dapat menentukan hingga 25 titik jalan perantara dalam satu permintaan menggunakan properti array intermediates dari metode REST computeRoutes atau metode gRPC ComputeRoutes.

Persinggahan versus titik jalan terus lewat

Anda dapat mengonfigurasi titik jalan perantara sebagai lokasi perhentian atau tujuan:

  • Persinggahan: Secara default, kendaraan berhenti di lokasi. Setiap titik jalan membagi rute dengan menambahkan entri RouteLeg ke array legs dalam respons. Untuk mengetahui informasi selengkapnya, lihat Menetapkan perhentian di sepanjang rute.
  • Titik jalan terus lewati dengan "via" disetel ke true: Kendaraan melewati lokasi tanpa berhenti. Titik jalan teruskan tidak menambahkan entri ke array legs. Untuk mengetahui informasi selengkapnya, lihat Menetapkan titik yang harus dilalui rute.

Segmen rute dan titik jalan perantara

Untuk setiap persinggahan perantara dalam permintaan, respons berisi objek RouteLeg terpisah dalam array routes.legs.

Misalnya, rute dengan asal, satu persinggahan perantara, dan tujuan berisi dua segmen rute: * Segmen 1: Dari asal ke persinggahan perantara. * Leg 2: Dari tempat persinggahan sementara ke tujuan.

Contoh: Permintaan dengan titik jalan perantara

Contoh berikut menggunakan array intermediates untuk menambahkan satu perhentian sementara ke rute.

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'

Respons dengan beberapa segmen rute

Karena titik jalan perantara dalam permintaan adalah persinggahan yang tidak menetapkan "via": true, respons membagi rute menjadi dua segmen dalam 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
            }
          }
        }
      ]
    }
  ]
}