Untuk siapa panduan ini: Baca panduan ini jika Anda adalah developer seluler yang bertanggung jawab membangun pengalaman navigasi dalam kabin untuk pengemudi truk atau kendaraan besar lainnya.
Cakupan panduan ini: Panduan ini menjelaskan cara mengambil rute khusus truk, yang dihasilkan oleh Routes API atau Route Optimization API, dan menggunakannya untuk mendukung sesi navigasi belokan demi belokan dengan Navigation SDK.
Yang akan Anda pelajari
Anda akan mempelajari cara melakukan hal berikut:
- Gunakan
routeTokenuntuk menghubungkan perencanaan rute backend dengan pengalaman navigasi dalam aplikasi. - Konfigurasi Navigation SDK untuk menggunakan rute truk yang telah direncanakan sebelumnya.
- Pahami cara pembatasan khusus truk ditampilkan kepada pengemudi di UI.
Prasyarat
Sebelum memulai, Anda harus memenuhi persyaratan berikut.
Penyiapan project
Project Google Cloud Anda harus disediakan untuk Large Vehicle Routing. Jika Anda menggunakan project terpisah untuk Routes API dan Navigation SDK, keduanya harus disediakan dengan tepat.
Membuat token rute
Anda harus membuat rute terlebih dahulu dengan mengikuti petunjuk dalam Panduan membuat rute truk & perkiraan waktu tiba. Output dari proses tersebut, yaitu
routeToken, diperlukan untuk menyelesaikan langkah-langkah dalam panduan ini.
Persyaratan minimum
Aplikasi Anda harus menggunakan versi Navigation SDK minimum yang diperlukan:
- Android: 5.2.0 atau yang lebih baru
- iOS: 5.4.0 atau yang lebih baru
Selain itu, semua persyaratan untuk menggunakan Navigation SDK berlaku:
Batasan
Sebelum memulai, Anda harus mengetahui batasan dan persyaratan berikut.
- Ketersediaan Geografis: Perutean kendaraan besar hanya tersedia di 48 negara bagian Amerika Serikat yang berdekatan.
- Perutean kendaraan besar adalah penawaran tahap Pratinjau. Pengemudi tidak boleh hanya mengandalkan rute yang ditampilkan oleh API ini agar aman atau sesuai hukum. Rute tidak dijamin sesuai untuk kendaraan, dan mengikutinya dapat membuat pengemudi menghadapi bahaya seperti jembatan rendah atau jalan yang melarang kendaraan besar.
- Rute upaya terbaik. Dalam beberapa kasus, API tidak dapat menemukan rute yang sepenuhnya mematuhi pembatasan perjalanan. Sebagai gantinya, rute "upaya terbaik" yang mungkin masih melintasi area terlarang akan ditampilkan. Respons Routes API
dengan jelas menandai rute ini di kolom
routeRestrictionsPartiallyIgnored. Rencanakan rute Anda dengan cermat dalam kasus ini, idealnya menggunakan data sumber lain. Jangan menggunakan rute yang ditandai sebagai satu-satunya sumber tepercaya untuk perencanaan atau navigasi. - Fitur yang Tidak Didukung: Meskipun kami berupaya menghadirkan lebih banyak fungsi ke penawaran ini, perutean kendaraan besar tidak mendukung hal berikut:
- Harga tol truk
- Batas kecepatan
- Perutean untuk bahan berbahaya radioaktif
- Batas Penggunaan: Semua permintaan tunduk pada batas kueri per detik (QPS) standar.
Menampilkan UI khusus truk
Navigation SDK secara otomatis menampilkan peringatan visual, yang disebut info rute, di peta untuk memperingatkan pengemudi tentang pembatasan truk yang akan datang. Pesan singkat dirender untuk pembatasan yang merupakan bagian dari rute yang direncanakan, tetapi tidak pada jalan terdekat lainnya.
SDK ini menyertakan keterangan untuk batasan berikut:
| Pembatasan | Ikon & Teks Info | Kondisi untuk Tampilan |
|---|---|---|
| Height |
Kuning = peringatan, kendaraan Anda mendekati tinggi maksimum yang diizinkan
Merah = kendaraan Anda melebihi tinggi maksimum yang diizinkan |
Anotasi kuning akan muncul saat tinggi kendaraan mendekati batas ketinggian.
Pesan merah akan muncul jika rute tidak mematuhi dan melanggar batasan tinggi.
|
| Bobot |
|
Pemberitahuan merah akan muncul saat berat kendaraan melebihi batas jalan.
|
| Truk Dilarang |
|
Info merah akan muncul saat Anda melintasi segmen jalan dengan pembatasan truk.
|
| Barang Berbahaya |
|
Info merah akan muncul saat muatan bahan berbahaya kendaraan dilarang di segmen jalan.
|
Alur kerja token rute
routeToken adalah snapshot rute yang dienkripsi dan aman yang dihasilkan oleh
Routes API. Objek ini berisi semua detail rute, termasuk profil kendaraan yang digunakan untuk membuatnya. Penggunaan token memastikan sesi navigasi cocok dengan
rute yang Anda rencanakan di backend.
Perhatikan bahwa setelah pengemudi mulai menavigasi, rute yang ditampilkan oleh Navigation SDK dapat berubah, bergantung pada kondisi lalu lintas dan jalan. Dalam beberapa kasus, rute mungkin berbeda dari rute yang ditentukan oleh token rute.
Dalam kasus ini, serta dalam kasus saat pengemudi menyimpang dari rute yang direncanakan, penggunaan token rute memastikan bahwa rute yang dihitung ulang memperhatikan atribut kendaraan seperti yang dikonfigurasi dalam permintaan Routes API asli.
Alur kerja mengikuti langkah-langkah berikut:
- Backend Anda meminta rute truk dari Routes API.
- Routes API menampilkan
routeToken. - Backend Anda mengirimkan token ini ke aplikasi seluler Anda.
- Aplikasi seluler meneruskan
routeTokenke Navigation SDK untuk memulai perjalanan. - Navigation SDK menangani semua aspek pengalaman belokan demi belokan, termasuk mengubah rute jika pengemudi menyimpang dari jalur sambil mempertahankan batasan kendaraan asli.
Penerapan: Memulai perjalanan khusus truk
Untuk meluncurkan sesi navigasi dengan rute truk, Anda meneruskan token rute ke Navigator.
Langkah 1: Dapatkan token rute
Aplikasi Anda menerima string routeToken dari server backend Anda.
Kode berikut adalah contoh token:
CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g
Langkah 2: Teruskan token ke Navigator
Berikan routeToken ke Navigator saat Anda menetapkan tujuan perjalanan.
Kemudian, Navigation SDK menggunakan token ini untuk semua penghitungan rute perjalanan.
Perhatikan bahwa Navigation SDK memiliki konfigurasi TravelMode, yang harus ditetapkan ke
TravelMode.DRIVING. Hal ini terpisah dari konfigurasi travelMode di
Routes API, yang harus disetel ke TRUCK. Konfigurasi travelMode
Routes API dienkode dalam routeToken dan memberi sinyal ke Navigation SDK untuk
menampilkan pengalaman dan rute khusus truk.
Android
Gunakan CustomRoutesOptions.builder() untuk menyetel token, lalu teruskan ke
navigator.setDestinations().
// Obtain the routeToken string from your backend
val routeToken = "route token returned by Routes API"
val customRoutesOptions = CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.build()
// Specify the same destination used to create the route token
ArrayList <Waypoint> destinations = Lists.newArrayList();
val destination = Waypoint.builder()
.setLatLng(10.0, 20.0)
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(destination);
navigator.setDestinations(destinations, customRoutesOptions)
iOS
Teruskan token rute ke Navigation SDK menggunakan metode mapView.navigator
setDestinations, dengan menentukan titik jalan tujuan yang sama yang Anda
gunakan saat membuat token rute:
// Obtain the routeToken string from your backend
let routeToken = "route token returned by Routes API"
mapView.navigator?.setDestinations([destination], routeToken: routeToken, callback: {...})
Langkah Berikutnya
- Jelajahi SDK: Navigation SDK for Android | Navigation SDK for iOS
- Menyesuaikan UI: Pelajari cara menyesuaikan UI Navigation SDK