Menghitung rute

Alat compute_routes menampilkan rute antara tempat asal dan tujuan untuk mode perjalanan tertentu. Responsnya mencakup jarak dan durasi rute. Secara default, rute dihitung tanpa lalu lintas live. Pro menambahkan pemilihan rute yang memperhitungkan lalu lintas live dan rute dengan lebih banyak perhentian sementara.

Anda dapat memanggil compute_routes melalui server MCP atau sebagai metode REST computeRoutes. Halaman ini menjelaskan opsi permintaan, termasuk opsi Pro; isi respons; dan cara permintaan ditagih. Untuk skema lengkap, lihat referensi MCP compute_routes dan referensi REST computeRoutes.

Opsi permintaan

Tabel berikut menjelaskan opsi permintaan untuk compute_routes:

Opsi Deskripsi
origin, destination Wajib. Masing-masing adalah titik jalan: address (alamat yang dapat dibaca manusia atau plus code), place_id, atau lat_lng. Anda dapat menggabungkan format—misalnya, alamat untuk tempat asal dan ID tempat untuk tujuan.
travel_mode Mode transportasi: DRIVE (default), WALK, BICYCLE, atau TRANSIT. Rute WALK masih dalam versi beta dan terkadang mungkin tidak memiliki trotoar atau jalur pejalan kaki yang jelas. Anda harus menampilkan peringatan ini kepada pengguna untuk semua rute jalan kaki yang Anda tampilkan di aplikasi.
routing_preference Cara data lalu lintas digunakan untuk menghitung rute: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (default) atau ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, yang merupakan opsi Pro. ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL tidak didukung untuk WALK atau BICYCLE. Lihat Pemilihan rute sesuai lalu lintas.
intermediate_waypoints Perhentian yang diurutkan antara tempat asal dan tujuan. Rute akan melewati titik jalan tersebut sesuai urutan yang diberikan. Permintaan dapat menyertakan hingga 10 titik jalan perantara, atau 11 hingga 25 sebagai opsi Pro. Permintaan dengan lebih dari 25 akan menampilkan error INVALID_ARGUMENT. Rute transportasi umum tidak mendukung titik jalan perantara.
departure_time atau arrival_time Waktu keberangkatan dari tempat asal atau kedatangan di tujuan, sebagai stempel waktu RFC 3339. Tetapkan maksimal satu. Nilai defaultnya adalah keberangkatan pada waktu saat ini. Untuk TRANSIT, waktunya dapat ditetapkan hingga 7 hari ke belakang atau 100 hari ke depan. Untuk metode transportasi lainnya, waktu tidak boleh di masa lalu dan dapat ditetapkan hingga 365 hari ke depan.
compute_alternative_routes Jika true, respons akan menyertakan rute alternatif selain rute yang direkomendasikan, jika alternatif tersedia. Nilai defaultnya adalah false.
include_polyline Jika true, setiap rute dalam respons akan menyertakan encodedPolyline. Default-nya adalah false.
location_bias Koordinat lintang/bujur yang membiaskan cara titik jalan teks di-resolve, seperti untuk memperjelas alamat.

Opsi Pro

Dua opsi memilih SKU Maps Grounding Pro. Permintaan yang menggunakan salah satu atau keduanya akan ditagih berdasarkan SKU Pro:

Opsi Pro Kapan menggunakannya
routing_preference disetel ke ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL Pengguna bertanya tentang lalu lintas, kemacetan, atau waktu perjalanan yang memperhitungkan lalu lintas saat ini. Lihat Pemilihan rute sesuai lalu lintas.
11 hingga 25 intermediate_waypoints Rute memerlukan lebih dari 10 perhentian antara tempat asal dan tujuan.

Semua opsi lainnya ditagih berdasarkan SKU Essentials, termasuk mode perjalanan, pengaturan waktu, rute alternatif, polyline, dan bias lokasi.

Pemilihan rute berbasis lalu lintas

Secara default, rute dihitung tanpa kondisi lalu lintas real-time (ROUTING_PREFERENCE_TRAFFIC_UNAWARE). Setelan ini memiliki latensi terendah. Mode ini sesuai untuk permintaan yang tidak terpengaruh atau tidak menerapkan traffic, seperti rute jalan kaki atau perencanaan kasar.

Tetapkan routing_preference ke ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL untuk menghitung rute dan durasinya dengan kondisi lalu lintas saat ini, jika data lalu lintas tersedia. Gunakan alat ini saat pengguna menanyakan durasi perjalanan saat ini. Untuk rute TRANSIT, setelan ini menggunakan data transportasi umum real-time, seperti penundaan dan pembatalan, jika tersedia. Fitur ini tidak didukung untuk rute WALK atau BICYCLE; permintaan tersebut akan menampilkan error INVALID_ARGUMENT. Ini adalah opsi Pro, sehingga permintaan ditagih berdasarkan SKU Pro. Opsi ini juga menambahkan latensi.

Contoh

Permintaan MCP berikut meminta rute mengemudi yang memperhitungkan lalu lintas dengan satu pemberhentian sementara dan polyline yang dienkode. SKU ini ditagih dalam SKU Pro:

{
  "method": "tools/call",
  "params": {
    "name": "compute_routes",
    "arguments": {
      "origin": {"address": "Ferry Building, San Francisco, CA"},
      "destination": {"address": "Golden Gate Park, San Francisco, CA"},
      "intermediate_waypoints": [
        {"address": "Palace of Fine Arts, San Francisco, CA"}
      ],
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_polyline": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Contoh berikut mengirimkan permintaan yang sama ke metode REST computeRoutes:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
  "origin": {"address": "Ferry Building, San Francisco, CA"},
  "destination": {"address": "Golden Gate Park, San Francisco, CA"},
  "intermediateWaypoints": [
    {"address": "Palace of Fine Arts, San Francisco, CA"}
  ],
  "travelMode": "DRIVE",
  "routingPreference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
  "includePolyline": true
}' \
"https://mapstools.googleapis.com/v1:computeRoutes"

Ganti API_KEY dengan kunci API Anda.

Respons

Respons berisi routes[], yang diurutkan dari yang paling direkomendasikan hingga yang paling tidak direkomendasikan. Hanya satu rute yang ditampilkan kecuali jika compute_alternative_routes adalah true. Setiap rute mencakup:

  • distanceMeters: Jarak perjalanan rute, dalam meter.
  • duration: Waktu yang diperlukan untuk menempuh rute. Dengan ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, durasi memperhitungkan kondisi lalu lintas.
  • encodedPolyline: Jalur rute sebagai polyline yang dienkode, jika include_polyline adalah true. Anda dapat menggunakannya untuk menggambar rute di peta dengan Google Maps Platform API lainnya.
  • retrievalToken: Token buram yang ditampilkan untuk rute DRIVE (berlaku selama 10 menit) yang dapat Anda teruskan ke search_along_route untuk menemukan tempat di sepanjang rute tersebut tanpa mengirim ulang titik jalan.
  • attribution: Atribusi yang harus Anda tampilkan dengan rute. Lihat Persyaratan atribusi.

Penagihan dan kuota

Setiap permintaan compute_routes adalah satu peristiwa yang dapat ditagih:

Meminta rute alternatif, polyline, waktu keberangkatan atau kedatangan, atau mode perjalanan yang berbeda tidak akan mengubah SKU.

Kuota compute_routes adalah 300 kueri per menit untuk setiap project, yang digunakan bersama oleh kedua SKU. Untuk mengetahui harga, lihat Tabel harga utama dan Tabel harga India.

Batas

  • Permintaan dapat menyertakan maksimal 25 titik jalan perantara; 11 hingga 25 adalah opsi Pro. Permintaan dengan jumlah lebih banyak akan menampilkan error INVALID_ARGUMENT.
  • Rute transportasi umum tidak mendukung titik jalan perantara. Permintaan transportasi umum dengan titik jalan perantara akan menampilkan error INVALID_ARGUMENT.
  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL tidak didukung untuk rute jalan kaki atau bersepeda.
  • Untuk rute transportasi umum, waktu keberangkatan dan kedatangan dapat ditetapkan hingga 7 hari ke belakang atau 100 hari ke depan. Untuk mode perjalanan lainnya, waktu tidak boleh di masa lalu dan dapat ditetapkan hingga 365 hari ke depan.
  • Koordinat titik jalan harus berada dalam batas geografis yang valid (lintang dari -90 hingga 90, bujur dari -180 hingga 180).
  • Alat ini tidak menampilkan langkah belokan demi belokan, segmen, atau detail jalur transportasi umum.