Menavigasi rute kendaraan besar

Untuk siapa panduan ini: Baca panduan ini jika Anda adalah developer seluler yang bertanggung jawab untuk membangun pengalaman navigasi belokan demi belokan bagi pengemudi truk, bus, atau kendaraan komersial 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 for iOS.

Yang akan Anda pelajari

Anda akan mempelajari cara melakukan tugas 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 muncul bagi pengemudi di UI navigasi.

Prasyarat

Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:

1. Meminta akses untuk project Anda

Perutean kendaraan besar tersedia untuk sejumlah pelanggan tertentu. Untuk menyatakan minat dan meminta akses bagi project Google Cloud Anda, isi formulir kontak. Perwakilan Google akan menghubungi Anda untuk menginformasikan langkah berikutnya.

Setelah Google memberikan akses, pastikan project Google Cloud Anda disediakan untuk perutean kendaraan besar.

Jika organisasi Anda menggunakan project Google Cloud terpisah untuk API perutean backend dan Navigation SDK seluler, hubungi Google untuk menyediakan setiap project.

2. Menyiapkan pembuatan rute backend dan mendapatkan token rute

Sebelum memulai navigasi di perangkat, server backend Anda harus membuat rute truk dan mendapatkan routeToken menggunakan salah satu API berikut:

Permintaan backend Anda harus menentukan travelMode: TRUCK bersama dengan atribut fisik kendaraan (tinggi, lebar, panjang, berat, jumlah gandar, dan kargo berbahaya). Routing API menampilkan routeToken dalam responsnya, yang diteruskan oleh server backend Anda ke aplikasi seluler Anda.

3. Memenuhi persyaratan sistem dan SDK minimum

Aplikasi Anda harus menggunakan Navigation SDK versi minimum yang diperlukan, yaitu 5.4.0 atau yang lebih baru.

Selain itu, project Anda harus memenuhi persyaratan penyiapan Navigation SDK standar.

Batasan dan pedoman operasional

Sebelum Anda memulai, perhatikan batasan dan panduan operasional berikut:

  • Ketersediaan geografis: Perutean kendaraan besar tersedia di 48 negara bagian Amerika Serikat yang berdekatan (Tersedia Secara Umum) dan Jepang (Eksperimental). Fitur ini tidak tersedia di Alaska, Hawaii, atau wilayah AS.
  • Saran dan keselamatan pengemudi: Pengemudi tidak boleh hanya mengandalkan rute yang ditampilkan oleh Navigation SDK untuk memastikan keselamatan atau kepatuhan terhadap hukum. Rute mungkin tidak sesuai untuk kendaraan dalam semua kondisi jalan, dan mengikutinya dapat membuat pengemudi menghadapi bahaya seperti ruang bebas rendah atau jalan dengan batasan berat. Pengemudi harus selalu waspada dan mematuhi rambu lalu lintas yang terpasang dan peraturan setempat.
  • Rute upaya terbaik: Jika API perutean tidak dapat menemukan rute yang sepenuhnya mematuhi pembatasan kendaraan, API tersebut akan menampilkan rute "upaya terbaik" yang mungkin masih melewati segmen yang dibatasi. Misalnya, Routes API menetapkan flag routeRestrictionsPartiallyIgnored dalam responsnya. Saat menavigasi rute ini, Navigation SDK menampilkan balon rute untuk menandai batasan yang relevan. Rencanakan rute dengan cermat dalam kasus ini dan jangan menggunakan rute yang ditandai sebagai satu sumber tepercaya untuk perencanaan atau navigasi.
  • Fitur yang tidak didukung: Perutean kendaraan besar tidak mendukung fitur berikut:
    • Harga tol truk
    • Batas kecepatan khusus truk atau kendaraan berat
    • Rute untuk bahan berbahaya radioaktif
  • Batas penggunaan: Permintaan yang dibuat ke Navigation SDK mengikuti batas penggunaan dan kuota standar. Untuk mengetahui informasi selengkapnya, lihat Penggunaan dan penagihan.

Menampilkan UI khusus truk (info rute)

Navigation SDK secara otomatis menampilkan peringatan visual, yang disebut info rute, di peta untuk memberi tahu pengemudi tentang pembatasan truk yang akan datang. Info penting muncul untuk pembatasan yang terjadi di sepanjang rute yang direncanakan, tetapi tidak ditampilkan di jalan terdekat lainnya.

Navigation SDK menyertakan balon 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
Pemberitahuan kuning akan muncul saat tinggi kendaraan mendekati batas ketinggian.
Peta yang menampilkan peringatan pembatasan ketinggian
Anotasi merah akan muncul jika rute tidak mematuhi dan melanggar batasan ketinggian.
Peta yang menunjukkan pelanggaran batas ketinggian
Bobot Ikon pembatasan berat Pesan merah akan muncul saat berat kendaraan melebihi batas jalan.
Peta yang menampilkan ikon pembatasan berat
Truk Dilarang Ikon truk dilarang Info merah akan muncul saat Anda melintasi ruas jalan dengan pembatasan truk komersial.
Peta yang menampilkan ikon larangan truk
Produk Berbahaya Ikon barang berbahaya Info merah akan muncul saat muatan bahan berbahaya kendaraan dilarang di segmen jalan.
Peta yang menampilkan ikon barang berbahaya

Cara kerja token rute

routeToken adalah snapshot rute terenkripsi yang dibuat oleh backend perutean Google. Objek ini merangkum geometri rute yang direncanakan serta dimensi fisik dan profil pembatasan kendaraan.

Alur kerja mengikuti langkah-langkah berikut:

  1. Minta rute: Server backend Anda meminta rute truk dari Routes API (atau Route Optimization API).
  2. Menerima token: Routing API menghitung rute yang sesuai dan mengembalikan routeToken ke server backend Anda.
  3. Teruskan token: Server backend Anda meneruskan routeToken dan koordinat tujuan ke aplikasi seluler Anda.
  4. Teruskan ke SDK: Aplikasi seluler meneruskan routeToken ke Navigation SDK.
  5. Mulai panduan: Navigation SDK menangani semua aspek pengalaman belokan demi belokan, termasuk merender balon rute dan menangani pengalihan rute dinamis sesuai dengan batasan kendaraan.

Penghitungan ulang dan pengalihan rute dinamis

Selama navigasi aktif, kondisi lalu lintas, penutupan jalan, atau belokan yang terlewat dapat menyebabkan kendaraan menyimpang dari rute yang direncanakan.

Saat pengalihan rute terjadi:

  • Navigation SDK akan otomatis menghitung ulang rute ke tujuan.
  • SDK mempertahankan atribut dan dimensi kendaraan yang dienkode dalam routeToken asli.
  • Rute yang baru dihitung ulang menghindari ruang bebas rendah, jembatan dengan batas berat, dan jalan yang dilarang untuk truk komersial.

Penerapan: Memulai perjalanan khusus truk

Ikuti langkah-langkah berikut untuk menginisialisasi dan memulai navigasi belokan demi belokan dengan token rute kendaraan besar.

Langkah 1: Dapatkan token rute dari backend Anda

Aplikasi seluler Anda menerima string routeToken bersama dengan koordinat tujuan dari server backend Anda. Untuk mengetahui detail tentang cara membuat token ini di server Anda, lihat Membuat rute & PWT kendaraan besar dalam dokumentasi Routes API.

Kode berikut adalah contoh token rute:

{
  "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g"
}

Langkah 2: Teruskan token ke Navigator

Teruskan titik jalan routeToken dan tujuan ke metode setDestinations mapView.navigator.

Saat mengonfigurasi titik jalan dan meneruskan token rute, perhatikan pertimbangan berikut:

  • Persyaratan kecocokan tujuan: Koordinat tujuan yang diteruskan ke setDestinations harus cocok dengan koordinat tujuan yang digunakan saat membuat routeToken. Menentukan tujuan yang berbeda akan menyebabkan terjadi error.
  • Perutean di sisi jalan: Kendaraan komersial besar tidak dapat dengan mudah berbelok U di jalan sempit. Untuk memastikan truk mendekati tujuan di sisi jalan yang benar, tetapkan preferSameSideOfRoad = true di titik jalan Anda.
  • Perhentian kendaraan: Untuk memandu truk ke lokasi yang sesuai untuk berhenti atau menurunkan muatan, tetapkan vehicleStopover = true di titik jalan Anda.
  • Titik navigasi: Jika tujuan Anda memiliki pintu masuk kargo atau dok pemuatan yang ditentukan, tetapkan menggunakan token titik navigasi.

Langkah 3: Menangani status rute dan memulai panduan

Evaluasi GMSRouteStatus yang ditampilkan di callback setDestinations. Jika statusnya adalah .OK (GMSRouteStatusOK), tetapkan isGuidanceActive = true (guidanceActive = YES) untuk memulai panduan belokan demi belokan yang aktif.

Contoh kode

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: {...})

Tampilan dalam kendaraan

Anda dapat menampilkan sesi navigasi kendaraan besar di layar dalam dasbor menggunakan Navigasi untuk CarPlay.

Langkah berikutnya

  • Memodifikasi UI navigasi: Sesuaikan kontrol UI dan elemen visual bawaan, seperti kompas, tombol memusatkan ulang, dan perspektif kamera.
  • Memproses peristiwa navigasi: Menangani update navigasi dan peristiwa siklus proses, seperti progres rute, perubahan perkiraan waktu tiba, dan pengalihan rute.