Navigation SDK는 앱에 탐색 환경을 통합하는 다양한 방법을 제공합니다. 이 페이지에서는 맞춤 탐색 환경이 무엇이며 Navigation SDK에서 제공되는 다른 탐색 환경과 어떻게 다른지 설명합니다.
맞춤 탐색 환경이란 무엇인가요?
Navigation SDK를 구현하는 기본 방법은 Google 내비게이션 환경을 사용하는 것입니다. 이를 통해 Google 지도 앱 내의 내비게이션 환경과 유사한 Google 제공 UI 요소와 시각적 요소를 사용하는 세부 경로 안내 내비게이션 환경을 삽입할 수 있습니다. Google 탐색 환경에서 제공하는 것보다 더 많은 유연성이 필요한 경우 맞춤 탐색 환경을 구현하면 됩니다.
맞춤 탐색 환경은 회전 안내를 완전히 없애고 탐색을 백그라운드 프로세스로만 실행하는 것부터 탐색을 실행하는 기기와 별도의 화면에 고도로 맞춤화된 안내 환경을 투영하는 것까지 모든 것을 의미합니다. 맞춤 탐색 환경을 사용하면 앱에서 Navigation SDK를 호출하여 턴바이턴 탐색 피드를 요청한 다음 탐색 환경에서 사용자에게 표시되는 UI 요소와 시각적 요소를 제공하고 관리합니다. 일반적으로 Google 탐색 환경을 사용하는 것이 더 쉽게 구현할 수 있지만, 맞춤 탐색 환경을 직접 구축하면 더 많은 맞춤설정이 가능합니다.
맞춤 탐색 환경을 만들 때 앱은 다음 흐름을 사용하여 탐색을 시작, 실행, 중지하기 위해 Navigation SDK를 호출합니다.
내비게이션을 시작합니다. Google 탐색 환경과 마찬가지로 맞춤 탐색 환경에서도 탐색 인스턴스를 만들고 목적지를 설정해야 합니다. 하지만 맞춤설정된 탐색 환경에서는 먼저 GMSNavigationService.createNavigationSession를 사용하여 탐색 세션을 설정하여 이를 달성합니다. GMSNavigationService.createNavigationSession는 뷰 컨트롤러와 함께 또는 뷰 컨트롤러 없이 작동할 수 있는 상태 보유 비 UI 객체입니다.
데모 보기: Navigation SDK 다운로드에는 표준 탐색을 통한 단계별 안내와 도로 폴리라인을 따라 이동하는 기기 위치만 표시하는 탐색 환경 간에 전환되는 탐색 환경의 예를 볼 수 있는 데모가 포함되어 있습니다.
활성 탐색 다음은 Google 제공 탐색 환경과 맞춤 탐색 환경의 또 다른 주요 차이점입니다.
Navigation SDK의 기본 제공 이벤트 관리자에게 안내를 전달하는 대신 턴바이턴 피드를 사용 설정하고 이벤트 핸들러를 구현합니다. 이렇게 하면 환경이 탐색 이벤트 수신 대기에 설명된 이벤트에 응답할 수 있습니다.
내비게이션 종료 Google 탐색 환경과 마찬가지로 맞춤 탐색에서도 앱 환경에 가장 적합한 방식으로 탐색을 종료해야 합니다.
맞춤 탐색 환경은 언제 사용하면 좋을까요?
다음 표에는 몇 가지 맞춤 탐색 시나리오가 설명되어 있습니다.
예시 시나리오
대략적인 단계
2륜 차량과 같은 소형 기기의 경우 텍스트 전용 운전자 안내를 제공해야 합니다.
내비게이터를 만들고 세부 경로 안내를 작은 화면 기기의 데이터 피드로 설정합니다. 내비게이터는 운전자의 시야 밖에서 운전자의 휴대전화에서 실행됩니다.
Android Auto를 사용하는 운전자가 자동차 서비스로 앱을 사용할 수 있도록 하려고 합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003eThe Navigation SDK offers both a pre-built Google navigation experience and the flexibility to create custom navigation experiences.\u003c/p\u003e\n"],["\u003cp\u003eCustom navigation experiences allow developers to manage UI elements, visuals, and event handling for a highly tailored user interface.\u003c/p\u003e\n"],["\u003cp\u003eThis customization ranges from background navigation to projecting guidance onto separate screens, giving developers more control.\u003c/p\u003e\n"],["\u003cp\u003eCustom experiences involve starting navigation, managing active navigation with event handlers, and ending navigation as needed.\u003c/p\u003e\n"],["\u003cp\u003eUse cases for custom navigation include text-only guidance, Android Auto integration, and dynamic switching between map views and turn-by-turn instructions.\u003c/p\u003e\n"]]],[],null,["# Custom navigation experience\n\nThe 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---------------------------------------\n\nThe primary way to implement the Navigation SDK is to use the [Google\nnavigation\nexperience](/maps/documentation/navigation/android-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 For more information, see [Enable turn-by-turn data\n feed](/maps/documentation/navigation/android-sdk/tbt-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 enable the turn-by-turn feed and implement event\n handlers. This allows your experience to respond to the events described in\n [Listen for navigation\n events](/maps/documentation/navigation/android-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--------------------------------------------------\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 Android Auto. | 1. Set up the car service. 2. Set up your Navigation SDK project. 3. Establish a navigator if you haven't already. 4. Enable the turn-by-turn guidance feed. 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 Android Auto](/maps/documentation/navigation/android-sdk/android-auto) |\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. |"]]