Menetapkan titik untuk rute yang akan dilalui

Developer Wilayah Ekonomi Eropa (EEA)

Secara default, titik jalan perantara digunakan untuk berhenti di lokasi penjemputan dan pengantaran, tetapi Anda juga dapat menentukan bahwa titik jalan perantara hanya dimaksudkan untuk dilewati.

Rute yang berisi titik jalan asal, titik jalan perantara yang dilewati, dan titik jalan tujuan hanya berisi satu segmen rute yang menghubungkan asal dan tujuan, sambil melewati titik jalan perantara (disebut via).

Konfigurasi titik jalan perantara menjadi titik jalan teruskan dengan menetapkan properti via titik jalan ke true menggunakan Waypoint (REST) atau Waypoint (gRPC).

Properti via paling efektif saat membuat rute sebagai respons terhadap pengguna yang menarik titik jalan di peta. Dengan melakukannya, pengguna dapat melihat tampilan akhir rute secara real-time dan membantu memastikan bahwa titik jalan ditempatkan di lokasi yang dapat diakses oleh Compute Routes.

Contoh berikut menunjukkan cara menandai titik jalan perantara sebagai titik jalan terus lewati.

{
  "location": {
    "latLng": {
      "latitude":37.419734,
      "longitude":-122.0827784
    }
  },
  "via": true
}

Mengakses ID tempat untuk titik jalan menengah

Jika Anda menentukan lokasi asal, tujuan, atau titik jalan perantara sebagai string alamat atau sebagai Kode plus, API akan mencoba menemukan lokasi yang paling relevan yang memiliki ID tempat yang sesuai. Array geocodingResults.intermediates dalam hasil berisi ID tempat yang sesuai dengan lokasi titik jalan, beserta data tambahan tentang lokasi.

Untuk setiap elemen array intermediates, gunakan properti intermediateWaypointRequestIndex untuk menentukan titik jalan perantara dalam permintaan yang sesuai dengan ID tempat dalam respons.

Contoh:

  • Anda menentukan tiga titik jalan perantara dalam permintaan. Dua dari titik jalan ini ditentukan oleh string alamat dan satu oleh koordinat lintang/bujur.

  • Anda menyertakan geocodingResults dalam mask kolom respons untuk menentukan agar array geocodingResults ditampilkan dalam hasil.

curl -X POST -d '{
  "origin":{
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  },
  "destination":{
    "address": "24 Willie Mays Plaza, San Francisco, CA 94107"
  },
  "intermediates": [
    {
      "address": "450 Serra Mall, Stanford, CA 94305, USA"
    },
    {
      "location":{
        "latLng":{
          "latitude": 37.419734,
          "longitude": -122.0807784
        }
      }
    },
    {
      "address": "1836 El Camino Real, Redwood City, CA 94063"
    }
  ],
  "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,geocodingResults'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Respons mencakup array geocodingResults yang berisi ID tempat untuk asal, tujuan, dan dua dari tiga titik jalan. Berikut adalah titik jalan di indeks 0 dan 2 permintaan. Karena titik jalan di indeks 1 permintaan ditentukan menggunakan koordinat lintang/bujur, titik jalan tersebut dihilangkan dari array geocodingResults dalam respons.

{
  "routes": [{...}],
  "geocodingResults": {
    "origin": {
      "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g"
    },
    "destination": {
     "geocoderStatus": {},
      "type": [
        "premise"
      ],
      "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY"
    },
    "intermediates": [
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 0,
        "type": [
            "street_address"
        ],
        "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y"
      },
      {
        "geocoderStatus": {},
        "intermediateWaypointRequestIndex": 2,
        "type": [
          "premise"
        ],
        "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0"
      }
    ]
  }
}