Preferensi traffic yang Anda pilih menyeimbangkan akurasi detail rute dengan performa permintaan dengan salah satu dari dua cara:
- Memperhatikan traffic: Menampilkan hasil yang paling akurat (latensi lebih tinggi).
- Tidak mengetahui traffic: Menampilkan hasil secepat mungkin (latensi terendah).
Saat Anda membuat permintaan, pertimbangkan apakah lebih baik menampilkan hasil yang paling akurat atau menampilkan hasil secepat mungkin. Library Rute menyediakan opsi yang memungkinkan Anda mengontrol kualitas data respons versus latensi respons.
Menetapkan tingkat traffic dan model traffic
Untuk menentukan tingkat traffic, tetapkan
routingPreference
di ComputeRoutesRequest. Daftar berikut menunjukkan opsi
routingPreference yang tersedia:
TRAFFIC_UNAWARE(default): Menampilkan hasil paling cepat, dengan detail perutean perkiraan.TRAFFIC_AWARE: Menampilkan hasil yang lebih akurat menggunakan data lalu lintas real-time, tetapi dengan latensi yang lebih tinggi.TRAFFIC_AWARE_OPTIMAL: Menampilkan hasil seakurat mungkin menggunakan data lalu lintas real-time, tetapi dengan latensi tertinggi.
Properti TRAFFIC_MODEL
mewakili asumsi yang akan digunakan saat memprediksi durasi dalam lalu lintas (
TrafficModel.BEST_GUESS (default),
TrafficModel.OPTIMISTIC,
TrafficModel.PESSIMISTIC).
Cara memilih perutean yang mengetahui traffic
Untuk membuat permintaan rute yang mengetahui kondisi lalu lintas, lakukan langkah-langkah berikut:
-
Tetapkan properti
travelModekeDRIVING. -
Tetapkan properti
routingPreferenceke salah satu opsi berikut:TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL
CATATAN:
TRAFFIC_UNAWAREadalah setelan default. -
Tetapkan properti
trafficModelke salah satu opsi berikut: -
Tetapkan properti
extraComputationskeTRAFFIC_ON_POLYLINE. -
Minta kolom
path,speedPaths, danrouteLabels.
Contoh permintaan berikut menunjukkan cara meminta rute yang mengetahui lalu lintas yang menampilkan data lalu lintas pada polyline:
// Define a traffic aware routes request with polylines. const requestWithTraffic = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE_OPTIMAL', trafficModel: 'optimistic', extraComputations: ['TRAFFIC_ON_POLYLINE'], fields: ['speedPaths'], };
Kondisi lalu lintas
Kondisi lalu lintas menggambarkan laju aliran lalu lintas:
- Traffic normal: Tidak ada kemacetan dengan traffic yang mengalir pada kecepatan normal.
- Lalu lintas ringan hingga sedang: Kemacetan meningkat, dengan lalu lintas yang bergerak pada kecepatan yang lebih rendah.
- Lalu lintas padat: Kemacetan parah, dengan kecepatan lalu lintas yang sangat berkurang.
Tidak menyadari lalu lintas
TRAFFIC_UNAWARE adalah setelan default. Gunakan preferensi perutean ini jika Anda
menginginkan respons yang dikembalikan paling cepat, dan detail perutean perkiraan sudah cukup.
Rute TRAFFIC_UNAWARE dihitung tanpa memperhitungkan kondisi lalu lintas saat ini. Preferensi perutean ini menghasilkan respons permintaan tercepat (latensi
terendah).
Jika Anda memilih TRAFFIC_UNAWARE, rute dan durasi akan dipilih berdasarkan jaringan jalan dan kondisi lalu lintas tanpa memperhitungkan waktu rata-rata, bukan kondisi jalan saat ini.
Akibatnya, rute tersebut mungkin mencakup jalan yang ditutup sementara. Hasil untuk permintaan tertentu dapat berubah dari waktu ke waktu karena perubahan pada jaringan jalan, kondisi lalu lintas rata-rata yang diperbarui, dan sifat distribusi layanan. Hasilnya juga dapat bervariasi di antara rute yang hampir setara di semua waktu atau frekuensi.
Berikut respons yang akan Anda lihat:
duration: Berisi PWT untuk rute.staticDuration: PWT untuk rute yang hanya mempertimbangkan informasi traffic historis. UntukTRAFFIC_UNAWARE, kolom ini berisi nilai yang sama denganduration.
Mengetahui lalu lintas
Gunakan preferensi perutean ini jika Anda menginginkan detail perutean yang lebih akurat daripada
TRAFFIC_UNAWARE, tetapi Anda tidak keberatan jika respons ditampilkan dengan
peningkatan latensi yang sedang.
Saat Anda menetapkan preferensi perutean TRAFFIC_AWARE, layanan akan menghitung
rute dengan mempertimbangkan kondisi lalu lintas saat ini. Hasilnya, rute dan detail rute lebih
akurat mencerminkan kondisi dunia nyata. Karena peningkatan kualitas data ini mengorbankan latensi respons, pengoptimalan performa diterapkan untuk mengurangi sebagian besar latensi.
Berikut respons yang akan Anda lihat:
duration: PWT dengan mempertimbangkan informasi lalu lintas real-time.staticDuration: PWT untuk rute yang hanya mempertimbangkan informasi traffic historis.
Optimal sesuai lalu lintas
Gunakan preferensi perutean ini jika Anda menginginkan hasil berkualitas tertinggi tanpa memedulikan berapa lama waktu yang dibutuhkan untuk mendapatkan respons. Preferensi pemilihan rute ini memiliki penundaan terlama dalam menampilkan respons (latensi tertinggi).
Saat Anda menyetel preferensi pemilihan rute TRAFFIC_AWARE_OPTIMAL, layanan
menghitung rute dengan mempertimbangkan kondisi lalu lintas saat ini, tetapi tidak menerapkan pengoptimalan
performa. Dalam mode ini, server melakukan penelusuran yang lebih menyeluruh pada jaringan jalan
untuk menemukan rute yang optimal.
Preferensi perutean TRAFFIC_AWARE_OPTIMAL setara dengan mode yang digunakan oleh
maps.google.com dan oleh aplikasi seluler Google Maps.
Jika Anda menggunakan opsi ini dengan computeRouteMatrix, jumlah elemen dalam
permintaan (jumlah titik asal × jumlah tujuan) tidak boleh melebihi 25.
Berikut respons yang akan Anda lihat:
duration: PWT untuk rute dengan mempertimbangkan informasi lalu lintas real-time.staticDuration: PWT untuk rute yang hanya mempertimbangkan informasi traffic historis.
Menetapkan waktu keberangkatan (opsional)
Gunakan properti ini hanya untuk permintaan yang mengetahui traffic dengan waktu keberangkatan harus pada waktu mendatang. Jika Anda tidak menetapkan properti departureTime, properti ini akan
secara default ditetapkan ke waktu saat Anda membuat permintaan.
Gunakan properti departureTime bersama dengan opsi TRAFFIC_AWARE dan
TRAFFIC_AWARE_OPTIMAL jika Anda ingin menyesuaikan cara layanan
memprediksi lalu lintas saat memilih rute.
TRAFFIC_UNAWARE: Tidak direkomendasikan karena pilihan rute dan durasi didasarkan pada jaringan jalan dan kondisi lalu lintas rata-rata tanpa memperhitungkan waktu tertentu.TRAFFIC_AWAREdanTRAFFIC_AWARE_OPTIMAL: Direkomendasikan untuk keberangkatan dalam waktu dekat karena preferensi ini mempertimbangkan kondisi lalu lintas secara langsung. Lalu lintas live menjadi lebih penting dan relevan jikadepartureTimesemakin dekat ke waktu sekarang. Makin jauh ke depan Anda menetapkan waktu keberangkatan, makin banyak pertimbangan yang diberikan pada kondisi traffic historis dalam memilih rute.
Mendapatkan token rute
Token rute adalah representasi rute berenkode base64 yang sesuai untuk web. Gunakan token rute untuk membagikan rute dengan Navigation SDK. SDK menggunakan token ini untuk merekonstruksi rute dan mempertahankan maksud navigasi asli, bahkan selama pengalihan rute.
Lakukan langkah-langkah berikut untuk mendapatkan token rute:
- Setel travelMode ke
DRIVING. - Tetapkan
routingPreferencekeTRAFFIC_AWAREatauTRAFFIC_AWARE_OPTIMAL. - Minta kolom
routeToken.
Contoh permintaan berikut menunjukkan cara meminta token rute:
// Define a traffic aware routes request with a route token. const requestWithRouteToken = { origin: '200 King St San Francisco, CA 94107', destination: 'Pier 41, San Francisco, CA 94133', travelMode: 'DRIVING', routingPreference: 'TRAFFIC_AWARE', fields: ['path', 'speedPaths', 'routeLabels', 'routeToken'], };