Pertanyaan Umum (FAQ)
Fakta Produk
- Bagaimana seharusnya pemberitahuan Persyaratan Layanan Navigation SDK ditampilkan?
- Bahasa apa yang didukung panduan suara?
- Apakah bearing dipertahankan saat pengemudi keluar dari mode navigasi?
- Apakah polyline tersedia saat memulai atau mengubah rute?
- Apakah pengguna aplikasi harus menginstal Google Maps untuk perangkat seluler?
- Dapatkah Navigation SDK mengidentifikasi tempat parkir di dekat restoran dan tujuan lainnya?
- Apakah Navigation SDK menampilkan arah lalu lintas di jalur saat mendekati titik belok?
Jaringan
Data
- Dapatkah saya mengambil semua perhentian/tujuan dalam perjalanan sebelum memulai rute?
- Apakah panduan rute belokan demi belokan tersedia di awal rute?
- Bagaimana Perkiraan Waktu Kedatangan (ETA) disampaikan kepada pengguna aplikasi?
- Dapatkah
RoadSnappedLocationProvider
digunakan untuk mendapatkan lokasi yang di-snap pengemudi saat ini jika navigasi tidak ada di latar depan? - Apakah Navigation SDK mendukung pembatasan wilayah?
- Dapatkah saya menonaktifkan notifikasi saat aplikasi Navigasi berada di latar belakang?
- Bagaimana cara melihat log transaksi yang disimpan oleh Google?
Penyesuaian UI
- Dapatkah saya memberi kode warna untuk opsi rute terbaik?
- Dapatkah Navigation SDK menampilkan PWT untuk tujuan akhir?
- Bagaimana cara menyembunyikan pembaruan PWT?
- Penyesuaian UI mana yang tersedia untuk kartu header dan footer?
Pemilihan rute
- Dapatkah saya memberikan rute spesifik kepada pengemudi atau menghapus rute alternatif?
- Dapatkah saya menampilkan label yang berbeda untuk tujuan selain lokasi tujuan default kepada pengemudi?
- Dapatkah saya menggunakan Navigation SDK untuk melacak penyimpangan dari jalur yang ditentukan?
- Dapatkah pengemudi keluar dari navigasi tanpa menyelesaikan rute?
Simulator
Workflows
Fakta Produk
- Aplikasi Anda harus menerapkan kotak dialog dengan pemberitahuan Persyaratan Layanan Navigation SDK yang harus disetujui setiap pengemudi. Kotak dialog ini memberikan kesempatan kepada pengemudi untuk menyetujui Persyaratan Layanan. File teks persyaratan disediakan dengan Navigation SDK.
- Di Android, gunakan metode
NavigationApi.showTermsAndConditionsDialog
untuk menampilkan kotak dialog yang berisi istilah. - Di iOS, panggil
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
. - Bahasa apa pun yang didukung oleh Google Maps Mobile akan otomatis tersedia untuk Navigation SDK. Perangkat memiliki bahasa sistem default dan aplikasi tidak dapat mengubah setelan tersebut; namun, aplikasi memiliki akses ke lebih dari 70 bahasa.
-
Ya. Di Android, setelah dimulai,
LocationListener
akan terus berjalan di latar belakang. Aplikasi Anda melanjutkan posisi jalan dan mempertahankan bearing.Di iOS, untuk terus menerima pembaruan lokasi posisi dan bearing di latar belakang, terapkan snap jalan dan tetapkan
allowsBackgroundLocationUpdates
keYES
. -
Ya. Saat rute dibuat atau diubah,
RouteChangeListener
akan menyediakan polyline. - Tidak, Navigation SDK tidak memerlukan penginstalan Google Maps Mobile di perangkat.
- Tidak, Navigation SDK tidak menyediakan fungsi ini sekarang.
- Ya. Arah lalu lintas tersedia dan ditampilkan secara default.
Jaringan
- Bagaimana cara Navigation SDK menangani konektivitas yang buruk?
- Navigation SDK melakukan pra-cache rute untuk setiap perjalanan. Informasi yang di-cache mencakup informasi rute selama 15-20 menit, dan alternatif rute jika pengemudi menyimpang dari rute. Navigation SDK memperkirakan posisi menggunakan GPS dan sensor perangkat.
- Apakah mode offline tersedia?
- Tidak, Navigation SDK saat ini tidak menawarkan mode offline. Namun, SDK memberikan informasi pra-cache untuk perjalanan.
Data
- Dapatkah saya mengambil semua perhentian/tujuan dalam perjalanan sebelum memulai rute?
-
Ya. Di Android, untuk mengambil rute untuk rute, panggil
Navigator.getRouteSegments()
.Di iOS, panggil
GMSNavigator.routeLegs(read)
. - Apakah panduan rute belokan demi belokan tersedia di awal rute?
- Ya. Navigation SDK menyediakan daftar segmen rute. Selain itu, pengemudi dapat menggeser kartu rute di header untuk melihat setiap manuver.
- Bagaimana PWT dikomunikasikan kepada pengguna aplikasi?
-
Di Android, gunakan langkah-langkah berikut untuk memberikan informasi PWT kepada pengguna aplikasi:
- Ambil waktu dan jarak untuk semua titik jalan menggunakan
Navigator.getTimeAndDistanceList()
. - Teruskan informasi ini ke aplikasi klien seperti yang Anda lakukan saat ini untuk PWT pengemudi.
Di iOS, gunakan langkah-langkah berikut untuk memberikan informasi PWT kepada pengguna aplikasi:
- Ambil segmen dalam perjalanan menggunakan
Navigator.getRouteSegments()
. - Panggil
GMSNavigator.timeToNextDestination
untuk setiap segmen perjalanan. - Meneruskan informasi waktu ke aplikasi klien seperti yang saat ini Anda lakukan untuk PWT pengemudi.
- Ambil waktu dan jarak untuk semua titik jalan menggunakan
-
Dapatkah
RoadSnappedLocationProvider
digunakan untuk mendapatkan lokasi pengembangan saat ini bagi pengemudi jika navigasi tidak ada di latar depan? -
Ya. Di Android,
RoadSnappedLocationProvider
berjalan di latar belakang secara default.Di iOS, agar navigasi tetap berjalan di latar belakang, terapkan delegasi untuk
GMSRoadSnappedLocationProviderDelegate
, dan tetapkan propertiallowsBackgroundLocationUpdates
keTRUE
. - Apakah Navigation SDK mendukung pembatasan wilayah?
-
Tidak. Dalam konteks navigasi,
remainingTimeOrdistanceChangeListener
memiliki keunggulan dibandingkan pembatasan wilayah sederhana. Pembatasan wilayah mungkin tidak memperhitungkan geometri jalan, dan mungkin tidak berpusat pada titik persis yang dituju pengemudi.Anda dapat memperkirakan fungsi ini menggunakan
remainingTimeOrdistanceChangeListener
.- Tetapkan batas untuk menentukan frekuensi callback.
- Periksa jarak yang tersisa ke tujuan.
Misalnya, jika Anda menetapkan batas ke 100 m, Anda akan menerima callback saat jarak ke tujuan berubah sebesar 100 m. Saat jarak menurun, Anda dapat memperbarui nilai minimum ini ke nilai yang lebih kecil dan menerima callback yang lebih sering. Kemudian, periksa jarak yang tersisa untuk menentukan apakah Anda cukup dekat dengan lokasi penjemputan/pengantaran.
Di iOS, implementasikan delegasi
GMSNavigatorDelegate.didUpdateRemainingDistance
untuk mengelola jarak antar-notifikasi. - Dapatkah saya menonaktifkan notifikasi saat aplikasi Navigasi ada di latar belakang?
-
Ya. Di Android, gunakan
Navigator.setHeadsUpNotificationEnabled
untuk mengontrol notifikasi. Metode ini memiliki argumen boolean.FALSE
menonaktifkan notifikasi;TRUE
mengaktifkan notifikasi.Di iOS, nonaktifkan notifikasi latar belakang untuk lokasi yang diambil di jalan dengan menetapkan
GMSRoadSnappedLocationProviderDelegate.allowsBackgroundLocationUpdates
ke NO.Guna menonaktifkan pemrosesan latar belakang untuk notifikasi lokasi lainnya, panggil
GMSNavigator.sendsBackgroundNotifications(NO)
. -
Perekam transaksi melacak pengambilan dan penurunan dengan ID unik, yang dicatat oleh Google untuk tujuan penagihan. Untuk informasi selengkapnya, lihat Petunjuk Pengujian Implementasi untuk platform Anda:
Untuk mengetahui informasi tentang aspek coding transaksi penagihan, lihat Transaksi yang Dapat Ditagih.
Penyesuaian UI
- Bisakah saya memberi kode warna untuk opsi rute terbaik?
- Tidak. Coding warna opsi rute tertentu tidak didukung untuk saat ini.
- Dapatkah Navigation SDK menampilkan PWT untuk tujuan akhir?
-
Ya. Di Android, gunakan metode berikut:
- Ambil waktu dan jarak untuk semua titik jalan menggunakan
Navigator.getTimeAndDistanceList()
. - Sembunyikan PWT titik jalan saat ini menggunakan
NavigationFragment.setEtaCardEnabled(false)
. - Render PWT tujuan akhir.
Di iOS, gunakan:
- Panggil
GMSNavigator.routeLegs(read)
. - Pada segmen terakhir, panggil
GMSNavigator.timeToNextDestination
. - Sembunyikan PWT titik jalan saat ini menggunakan
MSMapView.settings.navigationFooterEnabled=NO
hingga FALSE. - Render PWT tujuan akhir.
- Ambil waktu dan jarak untuk semua titik jalan menggunakan
- Bagaimana cara menyembunyikan pembaruan PWT?
-
Anda dapat menonaktifkan kartu PWT dengan metode berikut:
- Di Android, gunakan
navigationView.setEtaCardEnabled(false)
. - Di iOS, gunakan
GMSMapView.settings.navigationFooterEnabled=NO
.
- Di Android, gunakan
-
Di Android, Anda menggunakan
StylingOptions
untuk menetapkan gaya warna latar belakang. Untuk menyembunyikan atau menampilkan header dan footer, gunakan fungsi anggotasetHeaderEnabled
dansetFooterEnabled
dariNavigationFragment
.Di iOS, gunakan
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
untuk menetapkan gaya warna latar belakang. Untuk menyembunyikan atau menampilkan header dan footer, gunakan propertinavigationFooterEnabled
dannavigationHeaderEnabled
dariGMSUISettings
.
Pemilihan rute
- Dapatkah saya memberikan rute tertentu kepada pengemudi atau menghapus rute alternatif?
- Tidak. Secara default, beberapa rute disediakan dan rute tercepat diprioritaskan. Anda dapat memengaruhi rute default dengan menambahkan preferensi, seperti "hindari jalan raya dan jalan tol", ke permintaan Anda. Menambahkan titik jalan juga akan memengaruhi rute.
- Dapatkah saya menampilkan label tujuan yang berbeda dari lokasi tujuan default kepada pengguna aplikasi?
-
Ya. Di Android, buat
Marker
dengan judul khusus untuk tujuan dan lintang/bujur. Navigation SDK menampilkan judul kustom dan koordinat padaNavigationMap
.Di iOS, Anda membuat dan menampilkan
GMSMarker
untuk tujuan tersebut. - Dapatkah saya menggunakan Navigation SDK untuk melacak penyimpangan dari jalur yang ditentukan?
-
Ya. Di Android, gunakan
Navigator.setRouteChangedListener
untuk menerima notifikasi saat rute berubah atau rute baru direkomendasikan:- Daftarkan pemroses yang memeriksa posisi perangkat di sepanjang rute menggunakan metode
Navigator.setRouteChangedListener
. - Tambahkan kode ke pengendali peristiwa callback,
onRouteChanged
:- Kirim pesan ke pengguna aplikasi dengan informasi PWT dan jarak terbaru.
- Melacak lokasi perangkat.
- [opsional] Tambahkan fungsi lain yang diperlukan oleh aplikasi Anda untuk menangani saat pengemudi berada di luar rute yang ditentukan.
Di iOS, gunakan
GMSNavigator
dan delegasinya untuk menerima notifikasi saat rute berubah atau rute baru direkomendasikan:- Pada pengontrol tampilan peta, terapkan protokol
GMSNavigatorDelegate
dan protokolGMSRoadSnappedLocationProviderDelegate
. - Implementasikan
GMSNavigatorDelegate.navigatorDidChangeRoute
. - Akses rute baru menggunakan properti
routeLegs
dancurrentRouteLeg
dariGMSNavigator
.
- Daftarkan pemroses yang memeriksa posisi perangkat di sepanjang rute menggunakan metode
-
Ya. Di Android, panggil metode
Navigator.stopGuidance()
untuk menghentikan navigasi.Di iOS, panggil
GMSNavigator.clearDestinations
.
Simulator
- Apakah simulator mendukung perubahan rute?
-
Ya. Di Android, panggil
simulateLocationsAlongNewRoute
untuk menyimulasikan perjalanan yang mencakup perubahan rute. MetodesimulateLocationsAlongExistingRoute
mengabaikan perubahan pada rute yang ada.Di iOS, gunakan
GMSLocationSimulator.simulateAlongNewRouteToDestinations
untuk menyimulasikan perjalanan yang mencakup perubahan rute. Jika Anda tidak mengantisipasi perubahan rute apa pun, Anda dapat menggunakanGMSLocationSimulator.simulateLocationsAlongExistingRoute
atauGMSLocationSimulator.simulateAlongNewRouteToDestinations
.
Workflows
- Bagaimana cara menutup notifikasi setelah menutup aktivitas yang berisi fragmen navigasi?
-
Notifikasi navigasi tetap terlihat selama navigasi, saat aktivitas ditutup. Saat kendaraan tiba di tujuan, navigasi akan berhenti, dan notifikasi akan hilang.
Untuk menangani klik pada notifikasi, gunakan
Navigator.startGuidance(intent resumeIntent)
.resume intent
aktif saat pengguna aplikasi mengklik notifikasi. Biasanya,Navigator.startguidance(getIntent())
dipanggil dari Aktivitas utama, yang memanggil kembali Aktivitas saat pengguna aplikasi mengklik notifikasi.