Menyediakan navigasi belokan demi belokan untuk kendaraan besar

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 routeToken untuk 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 Ikon batasan tinggi berwarna kuning
Kuning = peringatan, kendaraan Anda mendekati tinggi maksimum yang diizinkan
Ikon batasan tinggi berwarna merah
Merah = kendaraan Anda melebihi tinggi maksimum yang diizinkan
Anotasi kuning akan muncul saat tinggi kendaraan mendekati batas ketinggian.
Peta dengan peringatan batasan ketinggian
Pesan merah akan muncul jika rute tidak mematuhi dan melanggar batasan tinggi.
Peta dengan pelanggaran pembatasan tinggi
Bobot Ikon pembatasan berat Pemberitahuan merah akan muncul saat berat kendaraan melebihi batas jalan.
Peta dengan ikon batasan berat
Truk Dilarang Ikon truk dilarang Info merah akan muncul saat Anda melintasi segmen jalan dengan pembatasan truk.
Peta dengan ikon larangan truk
Barang Berbahaya Ikon barang berbahaya Info merah akan muncul saat muatan bahan berbahaya kendaraan dilarang di segmen jalan.
Peta dengan ikon barang berbahaya

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:

  1. Backend Anda meminta rute truk dari Routes API.
  2. Routes API menampilkan routeToken.
  3. Backend Anda mengirimkan token ini ke aplikasi seluler Anda.
  4. Aplikasi seluler meneruskan routeToken ke Navigation SDK untuk memulai perjalanan.
  5. 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