Menetapkan opsi traffic

Developer Wilayah Ekonomi Eropa (EEA)

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:

  1. Tetapkan properti travelMode ke DRIVING.

  2. Tetapkan properti routingPreference ke salah satu opsi berikut:

    • TRAFFIC_AWARE
    • TRAFFIC_AWARE_OPTIMAL

    CATATAN: TRAFFIC_UNAWARE adalah setelan default.

  3. Tetapkan properti trafficModel ke salah satu opsi berikut:

  4. Tetapkan properti extraComputations ke TRAFFIC_ON_POLYLINE.

  5. Minta kolom path, speedPaths, dan routeLabels.

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. Untuk TRAFFIC_UNAWARE, kolom ini berisi nilai yang sama dengan duration.

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_AWARE dan TRAFFIC_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 jika departureTime semakin 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 routingPreference ke TRAFFIC_AWARE atau TRAFFIC_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'],
};