Mendapatkan matriks rute

Developer Wilayah Ekonomi Eropa (EEA)

Gunakan Routes API untuk menghitung jarak dan durasi rute untuk beberapa asal dan tujuan dengan memanggil metode computeRouteMatrix (REST) atau metode ComputeRouteMatrix streaming (gRPC).

Dengan daftar asal dan tujuan, metode ini menghitung jarak dan durasi rute yang dimulai dari setiap asal dan berakhir di setiap tujuan.

Mendapatkan matriks rute transportasi umum

Anda juga dapat menghitung matriks rute di transportasi umum. Sebagai contoh, lihat Mendapatkan matriks rute di transportasi umum.

Batas permintaan

Metode Compute Route Matrix menerapkan batas permintaan berikut untuk titik jalan menggunakan alamat atau placeID, dan untuk elemen. Elemen adalah rute antara setiap asal dan tujuan dalam matriks rute, sehingga jumlah elemen adalah jumlah asal dikali jumlah tujuan. Misalnya, jika Anda memiliki 10 asal dan 10 tujuan, Anda memiliki 100 elemen:

  • Jumlah elemen tidak boleh melebihi 625 untuk rute yang bukan rute TRANSIT.

  • Jika Anda menentukan rute TRANSIT, jumlah elemen tidak boleh melebihi 100.

  • Jika Anda menentukan TRAFFIC_AWARE_OPTIMAL, jumlah elemen tidak boleh melebihi 100. Untuk mengetahui informasi selengkapnya tentang TRAFFIC_AWARE_OPTIMAL, lihat Tentukan cara dan apakah akan menyertakan data traffic.

  • Jika Anda menentukan asal atau tujuan menggunakan alamat atau ID tempat, Anda dapat menentukan hingga total 50 dengan cara ini.

Error respons

Salah satu fitur metode Compute Route Matrix adalah error dapat ditampilkan untuk seluruh respons atau untuk setiap elemen respons. Misalnya, seluruh respons berisi error jika permintaan salah bentuk (misalnya, tidak memiliki asal).

Namun, jika error berlaku untuk subset elemen dalam respons (misalnya, rute tidak dapat dihitung untuk satu kombinasi asal dan tujuan), hanya elemen yang terpengaruh oleh error yang menampilkan kode error.

Hasil gRPC Stream

Metode gRPC ComputeRouteMatrix mengambil daftar asal dan tujuan, lalu menampilkan aliran yang berisi informasi rute untuk setiap kombinasi asal dan tujuan. Karena hasilnya ditampilkan sebagai aliran, Anda tidak perlu menunggu hingga semua kombinasi rute yang mungkin dihitung sebelum Anda dapat mulai memproses hasilnya.

Elemen yang ditampilkan oleh stream tidak dijamin akan ditampilkan dalam urutan apa pun. Oleh karena itu, setiap elemen respons berisi origin_index dan destination_index. Untuk asal dan tujuan yang ditentukan oleh permintaan, asal rute setara dengan origins[origin_index] untuk elemen tertentu dan tujuan rute setara dengan destinations[destination_index]. Array ini memiliki indeks berbasis nol. Penting untuk menyimpan urutan daftar asal dan tujuan.

Contoh Compute Route Matrix

Gunakan metode computeRouteMatrix dalam permintaan HTTP untuk menghitung matriks rute.

Contoh HTTP

Contoh berikut menunjukkan permintaan HTTP computeRouteMatrix. Dalam contoh ini Anda:

  • Tentukan array dua titik jalan asal dan dua titik jalan tujuan. Metode ini menghitung rute dari setiap asal ke setiap tujuan sehingga respons berisi empat rute.

    Dalam array, elemen pertama berada pada indeks 0, elemen kedua berada pada indeks 1, dan seterusnya.

  • Sertakan mask kolom respons untuk menentukan kolom respons (REST) atau ComputeRoutesResponse (gRPC) yang akan ditampilkan. Dalam contoh ini, konfigurasi permintaan untuk menampilkan originIndex, destinationIndex, duration, distanceMeters, status, dan condition untuk setiap rute. Untuk mengetahui informasi selengkapnya, lihat Memilih kolom yang akan ditampilkan.

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Respons berisi empat kemungkinan rute untuk kombinasi semua titik jalan asal dan tujuan.

Identifikasi setiap rute dalam respons menggunakan kolom respons originIndex dan destinationIndex. Misalnya, originIndex 1 dalam respons sesuai dengan rute yang dihitung dari titik jalan pada indeks 1 array origins dalam permintaan.

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

Contoh gRPC

Untuk contoh permintaan gRPC, lihat contoh di Contoh permintaan gRPC. Contoh Java di halaman tersebut memanggil Compute Routes dan Compute Route Matrix.