Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.
Navigation SDK menyediakan berbagai cara untuk mengintegrasikan pengalaman navigasi ke dalam aplikasi Anda. Halaman ini menjelaskan apa yang dimaksud dengan pengalaman navigasi kustom dan perbedaannya dengan pengalaman navigasi lain yang tersedia di Navigation SDK.
Apa yang dimaksud dengan pengalaman navigasi kustom?
Cara utama untuk menerapkan Navigation SDK adalah dengan menggunakan pengalaman navigasi Google, yang memungkinkan Anda menyematkan pengalaman navigasi belokan demi belokan yang menggunakan elemen dan visual UI yang disediakan Google — mirip dengan pengalaman navigasi dalam aplikasi Google Maps. Jika Anda memerlukan fleksibilitas lebih dari yang ditawarkan oleh pengalaman navigasi Google, Anda dapat menerapkan pengalaman navigasi kustom. Pengalaman navigasi kustom mengacu pada apa pun mulai dari menghilangkan panduan belokan sepenuhnya dan menjalankan navigasi hanya sebagai proses latar belakang, hingga memproyeksikan pengalaman panduan yang sangat disesuaikan ke layar terpisah dari perangkat yang menjalankan navigasi. Dengan pengalaman navigasi kustom, aplikasi Anda memanggil Navigation SDK untuk meminta feed navigasi belokan demi belokan, lalu Anda menyediakan dan mengelola elemen UI dan visual yang dilihat pengguna dalam pengalaman navigasi. Meskipun pengalaman navigasi Google umumnya lebih mudah diterapkan, membangun pengalaman navigasi kustom Anda sendiri memungkinkan penyesuaian yang lebih besar.
Saat Anda membuat pengalaman navigasi kustom, aplikasi Anda akan memanggil Navigation SDK untuk memulai, menjalankan, dan menghentikan navigasi, menggunakan alur berikut:
Mulai navigasi. Seperti pengalaman navigasi Google, pengalaman navigasi kustom tetap melibatkan pembuatan instance navigasi dan menetapkan tujuan. Namun, dengan pengalaman navigasi yang disesuaikan, Anda dapat melakukannya dengan terlebih dahulu membuat sesi navigasi menggunakan GMSNavigationService.createNavigationSession, yang merupakan objek non-UI yang menyimpan status dan dapat beroperasi dengan atau tanpa pengontrol tampilan.
Lihat demo: Download Navigation SDK berisi demo yang dapat Anda jalankan untuk melihat contoh pengalaman navigasi yang beralih antara panduan belokan demi belokan melalui navigasi standar ke pengalaman navigasi yang hanya menampilkan lokasi perangkat yang bergerak di sepanjang polyline jalan.
Navigasi aktif. Berikut perbedaan utama lainnya antara pengalaman navigasi yang disediakan Google dan pengalaman navigasi kustom. Daripada menyerahkan panduan ke pengelola peristiwa bawaan Navigation SDK, Anda menyiapkan pemroses untuk panduan belokan demi belokan yang mendetail dengan menerapkan protokol GMSNavigatorListener, lalu menerapkan pengendali peristiwa. Dengan demikian, pengalaman Anda dapat merespons peristiwa yang dijelaskan dalam Memproses peristiwa navigasi.
Akhiri navigasi. Seperti pengalaman navigasi Google, navigasi kustom juga mengharuskan Anda mengakhiri navigasi dengan cara yang paling sesuai untuk pengalaman aplikasi.
Kapan Anda dapat menggunakan pengalaman navigasi kustom?
Tabel berikut menjelaskan beberapa skenario navigasi kustom.
Contoh skenario
Langkah-langkah tingkat tinggi
Anda harus memberikan panduan pengemudi khusus teks untuk perangkat kecil seperti kendaraan roda 2.
Buat navigator Anda dan siapkan panduan belokan demi belokan sebagai feed data ke perangkat layar kecil saat navigator berjalan di ponsel pengemudi di luar pandangan langsungnya.
Anda ingin membuat aplikasi tersedia sebagai layanan mobil untuk pengemudi yang menggunakan Apple CarPlay.
Siapkan layanan mobil.
Siapkan project Navigation SDK Anda.
Buat navigator jika Anda belum melakukannya.
Siapkan pemroses untuk panduan belokan demi belokan.
Gambarkan peta di platform aplikasi otomatis dan isi kolom dari feed data yang Anda konfigurasi.
Pengemudi yang menggunakan aplikasi Anda menginginkan peta ringkasan untuk sebagian besar perjalanan mereka, dengan hanya sedikit panduan belokan demi belokan untuk jalan kota.
Aplikasi Anda harus memungkinkan pengemudi masuk dan keluar dari pengalaman navigasi Google sesuai kebutuhan mereka, tanpa mengubah setelan navigator untuk tujuan dan mode perjalanan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-17 UTC."],[[["\u003cp\u003eThe Navigation SDK offers a custom navigation experience for greater flexibility beyond the standard Google navigation experience.\u003c/p\u003e\n"],["\u003cp\u003eCustom navigation involves managing UI elements and visuals, starting navigation sessions, listening for events, and ending navigation.\u003c/p\u003e\n"],["\u003cp\u003eCustom experiences are suitable for scenarios like text-only guidance, Carplay integration, or combining overview maps with minimal turn-by-turn guidance.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can access the turn-by-turn data feed and detailed navigation events to create highly customized navigation interfaces.\u003c/p\u003e\n"]]],[],null,["The Navigation SDK provides different ways to integrate a navigation\nexperience into your app. This page explains what a custom navigation experience\nis and how it differs from other navigation experiences that are available in\nthe Navigation SDK.\n\nWhat is a custom navigation experience?\n\nThe primary way to implement the Navigation SDK is to use the [Google\nnavigation\nexperience](/maps/documentation/navigation/ios-sdk/intro-google-nav),\nwhich lets you embed a turn-by-turn navigation experience that uses\nGoogle-provided UI elements and visuals --- similar to the navigation experience\nwithin the Google Maps apps. If you need more flexibility than the Google\nnavigation experience offers, you can implement a custom navigation experience.\nA custom navigation experience refers to anything from eliminating turn guidance\nentirely with and running navigation only as a background process, to projecting\na highly customized guidance experience to a screen separate from the device\nthat runs the navigation. With a custom navigation experience, your app calls\nthe Navigation SDK to request a turn-by-turn navigation feed, and then\nyou provide and manage the UI elements and visuals that the user sees in the\nnavigation experience. While using the Google navigation experience is generally\neasier to implement, building your own custom navigation experience allows for\nmore customization.\n\nWhen you create a custom navigation experience, your app calls the Navigation\nSDK to start, run, and stop navigation, using the following flow:\n\n1. **Start navigation** . As with the Google navigation experience, a custom\n navigation experience still involves creating a navigation instance and\n setting the destination. However, with a customized navigation experience,\n you achieve this by first establishing a navigation session using\n `GMSNavigationService.createNavigationSession`, which is a state-bearing\n non-UI object that can operate either with a view controller, or without\n one.\n\n \u003cbr /\u003e\n\n For more information, see [Details about the turn-by-turn data\n feed](/maps/documentation/navigation/ios-sdk/nav-only-feed).\n\n **See the demo:** The download of the Navigation SDK contains a demo\n you can run to see an example of a navigation experience that switches\n between turn-by-turn guidance through standard navigation to a navigation\n experience that shows only the device location moving along a road\n polyline.\n2. **Active navigation** . Here is another key difference between a\n Google-provided navigation experience and a custom navigation experience.\n Instead of handing off guidance to the built-in event manager of the\n Navigation SDK, you set up a listener for detailed turn-by-turn guidance by implementing the `GMSNavigatorListener` protocol, and then implement event\n handlers. This allows your experience to respond to the events described in\n [Listen for navigation\n events](/maps/documentation/navigation/ios-sdk/events).\n\n3. **End navigation**. As with the Google navigation experience, custom\n navigation also requires you to terminate navigation in the manner best\n suited for the app's experience.\n\nWhen might you use a custom navigation experience?\n\nThe following table describes some custom navigation scenarios.\n\n| **Example scenario** | **High-level steps** |\n|----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| You need to provide text-only driver guidance for small devices such as 2-wheeled vehicles. | Create your navigator and set up the turn-by-turn guidance as a data feed to a small screen device while the navigator runs on the driver's mobile phone outside of their immediate view. |\n| You want to make your app available as a car service for drivers who use Apple Carplay. | 1. Set up the car service. 2. Set up your Navigation SDK project. 3. Establish a navigator if you haven't already. 4. Set up a listener for turn-by-turn guidance. 5. Draw the map on the auto app surface and populate the fields from the data feed you configured. For more information, see [Enable Navigation for Carplay](/maps/documentation/navigation/ios-sdk/carplay) |\n| Drivers using your app want an overview map for most of their journey, with only minimal turn-by-turn guidance for city streets. | Your app should allow drivers to enter and exit the Google navigation experience as they need, without alternating the navigator's settings for destination and trip mode. |"]]