--- title: "지도 앱 연동 URL Scheme" slug: "maps-url-scheme" updated: 2026-09-17T09:09:10Z published: 2026-09-17T09:09:10Z canonical: "guide-fin.ncloud-docs.com/maps-url-scheme" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 지도 앱 연동 URL Scheme 네이버 지도 앱 URL Scheme을 사용하여 사용자 앱이나 웹 페이지에서 네이버 지도 앱 호출함으로써 네이버 지도 기능을 사용할 수 있습니다. ## 구문 네이버 지도 앱 URL Scheme은 `nmap://`으로 시작하며, 구문의 형식은 다음과 같습니다. ![naverapp-urlscheme-syntax_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/naverapp-urlscheme-syntax_ko.png) | 구성 요소 | 설명 | 필수 여부 | | --- | --- | --- | | `nmap://` | 네이버 지도 앱 접근 URL Scheme | 필수 | | `actionPath` | 호출 액션 | 필수 | | `parameter=value` | 호출 액션에 따른 입력 파라미터와 입력 값 | 액션에 따라 다름. 자세한 내용은 [URL Scheme 사용](/docs/maps-url-scheme#URLScheme%EC%82%AC%EC%9A%A9) 확인 | | `appname` | URL Scheme을 사용하는 앱 또는 웹 페이지를 식별하는 문자열 - Android 앱: 앱의 `applicationId` - iOS 앱: 앱의 번들 ID - 모바일 웹: 웹 페이지 URL | 필수. 모든 URL에는 `appname` 파라미터가 반드시 포함되어야 함 | ## 사전 설정 네이버 지도 URL Scheme은 사용자의 기기에 네이버 지도 앱이 설치되어 있어야만 사용 가능합니다. 따라서 네이버 지도 앱이 설치되어 있지 않을 경우, App Store나 Google Play에서 네이버 지도 앱을 설치할 수 있도록 코드를 작성해야 합니다. 사용 환경별(모바일 앱, 모바일 웹, 인앱 브라우저) 작성해야 하는 코드는 다음과 같습니다. ### 모바일 앱 네이버 지도 URL Scheme을 사용하기 위해 모바일 앱에서 작성해야 하는 코드는 다음과 같습니다. #### Android 다음 예제 코드와 같이 `queryIntentActivities`를 호출해 네이버 지도 앱이 설치되어 있는지 확인하고, 설치되어 있지 않으면 Google Play로 이동합니다. ``` String url = "nmap://actionPath?parameter=value&appname={YOUR_APP_NAME}"; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.addCategory(Intent.CATEGORY_BROWSABLE); List list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list == null || list.isEmpty()) { context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.nhn.android.nmap"))); } else { context.startActivity(intent); } ``` #### iOS iOS 모바일 앱에서 작성해야 할 코드는 다음과 같습니다. 1. info.plist에 `LSApplicationQueriesSchemes`를 생성하고 nmap을 추가해 주십시오. ``` LSApplicationQueriesSchemes nmap ``` 1. 다음과 같이 `canOpenURL`을 호출해 네이버 지도 앱이 설치되어 있는지 확인하고, 설치되어 있지 않으면 App Store로 이동해 주십시오. ``` let url = URL(string: "nmap://actionPath?parameter=value&appname={YOUR_APP_NAME}")! let appStoreURL = URL(string: "http://itunes.apple.com/app/id311867728?mt=8")! if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url) } else { UIApplication.shared.open(appStoreURL) } ``` ### 모바일 웹 모바일 웹에서 네이버 지도 URL Scheme을 사용하려면 네이버 지도 앱을 설치하도록 구현해야 합니다. #### Android 인텐트 URL을 사용하면 앱이 설치되어 있지 않은 경우 자동으로 Google Play 스토어로 이동합니다. 인텐트 URL의 구조는 다음과 같습니다. ``` intent://actionPath?parameter=value&appname={YOUR_APP_NAME}#Intent;scheme=nmap;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;package=com.nhn.android.nmap;end ``` 다음은 `(37.4979502, 127.0276368)` 위치에 '경기도 성남시 분당구 정자동' 마커를 표시하는 URL Scheme을 인텐트 URL로 나타낸 예제입니다. ``` intent://place?lat=37.4979502&lng=127.0276368&name=%EA%B2%BD%EA%B8%B0%EB%8F%84%20%EC%84%B1%EB%82%A8%EC%8B%9C%20%EB%B6%84%EB%8B%B9%EA%B5%AC%20%EC%A0%95%EC%9E%90%EB%8F%99&appname=com.example.myapp#Intent;scheme=nmap;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;package=com.nhn.android.nmap;end ``` #### iOS 다음과 같이 웹 페이지에서 JavaScript 타이머를 이용해 App Store로 분기시키는 방법을 사용합니다. ``` ``` ### 인앱 브라우저 인앱 브라우저에서 URL Scheme을 사용하려면 다음과 같이 URL Scheme 처리 코드를 추가해야 합니다. #### Android 다음과 같이 `WebViewClient`의 `shouldOverrideUrlLoading`을 오버라이드 하여 URL Scheme 처리 코드를 추가합니다. ``` @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("intent:")) { Intent intent; try { intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME); } catch (URISyntaxException e) { return false; } if (TextUtils.isEmpty(intent.getPackage())) { return false; } List list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list == null || list.isEmpty()) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + intent.getPackage()))); } else { startActivity(intent); } return true; } return false; } ``` #### iOS 다음과 같이 `WKWebview`의 `decidePolicyFor`에 URL Scheme 처리 코드를 추가합니다. ``` func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url { if url.scheme == "nmap" { UIApplication.shared.open(url) decisionHandler(.cancel) return } } decisionHandler(.allow) } ``` ## URL Scheme 사용 네이버 지도 앱 URL Scheme이 제공하는 액션에 대해 설명합니다. 이 가이드를 통해 학습하게 되는 액션 사용법은 다음과 같습니다. - [지도 메인 표시](/docs/maps-url-scheme#%EC%A7%80%EB%8F%84%EB%A9%94%EC%9D%B8%ED%91%9C%EC%8B%9C) - 지도 검색 - [지도 통합 검색](/docs/maps-url-scheme#%ED%86%B5%ED%95%A9%EA%B2%80%EC%83%89) - [버스 검색](/docs/maps-url-scheme#%EB%B2%84%EC%8A%A4%EA%B2%80%EC%83%89) - [마커 표시](/docs/maps-url-scheme#%EB%A7%88%EC%BB%A4%ED%91%9C%EC%8B%9C) - 길찾기 - [대중교통 길찾기](/docs/maps-url-scheme#%EB%8C%80%EC%A4%91%EA%B5%90%ED%86%B5%EA%B8%B8%EC%B0%BE%EA%B8%B0) - [자동차 길찾기](/docs/maps-url-scheme#%EC%9E%90%EB%8F%99%EC%B0%A8%EA%B8%B8%EC%B0%BE%EA%B8%B0) - [도보 길찾기](/docs/maps-url-scheme#%EB%8F%84%EB%B3%B4%EA%B8%B8%EC%B0%BE%EA%B8%B0) - [자전거 길찾기](/docs/maps-url-scheme#%EC%9E%90%EC%A0%84%EA%B1%B0%EA%B8%B8%EC%B0%BE%EA%B8%B0) - [내비게이션](/docs/maps-url-scheme#%EB%82%B4%EB%B9%84%EA%B2%8C%EC%9D%B4%EC%85%98) 참고 길찾기(/route)와 내비게이션(/navigation)에서 사용하는 공통 파라미터는 본 아티클의 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0)를 참조해 주십시오. ### 지도 메인 표시 네이버 지도 앱의 메인 화면을 보여줍니다. #### 액션 경로 ``` /map ``` #### 파라미터 | 파라미터 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | lat | double | N | 지도의 중심 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 앱의 기존 상태 유지 | | lng | double | N | 지도의 중심 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 앱의 기존 상태 유지 | | zoom | double | N | 지도의 줌 레벨 - 입력값: 4 ~ 20 - 기본값: 앱의 기존 상태 유지 | #### 사용 예제 **지도 앱 메인 화면 표시** 다음은 입력 파라미터 없이 지도 앱의 메인 화면을 표시하는 예제입니다. `nmap://map?&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-map-no-parameter-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-map-no-parameter-update_ko.png) **중심 좌표 및 줌 레벨 반영** 다음은 지도의 중심점을 `(37.4979502, 127.0276368)`, 줌 레벨을 20으로 지정해 지도 앱의 메인 화면을 표시하는 예제입니다. `nmap://map?lat=37.4979502&lng=127.0276368&zoom=20&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-map-display-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-map-display-update_ko.png) ### 통합 검색 검색어에 맞는 지도 검색 결과를 보여줍니다. #### 액션 경로 ``` /search ``` #### 파라미터 | 파라미터 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | query | string | **Y** | 검색어 - 입력값: URL 인코딩된 문자열 | #### 사용예제 다음은 '강남역'을 검색어로 넣어 지도를 검색하는 예제입니다. `nmap://search?query=%EA%B0%95%EB%82%A8%EC%97%AD&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-search-normal-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-search-normal-update_ko.png) ### 버스 검색 검색어에 맞는 버스 검색 결과를 보여줍니다. #### 액션 경로 ``` /search/bus ``` #### 파라미터 | 파라미터 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | query | string | **Y** | 버스 번호 - 입력값: URL 인코딩된 문자열 | #### 사용예제 다음은 222번 버스를 검색하는 예제입니다. `nmap://search/bus?query=222&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-search-bus-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-search-bus-update_ko.png) ### 마커 표시 지정된 좌표에 마커를 표시합니다. #### 액션 경로 ``` /place ``` #### 파라미터 | 파라미터 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | lat | double | **Y** | 위도 - 입력값: 31.43 ~ 44.35 | | lng | double | **Y** | 경도 - 입력값: 122.37 ~ 132.00 | | name | string | **Y** | 이름 - 입력값: URL 인코딩된 문자열 | #### 사용 예제 다음은 `(37.3677345,127.1083617)` 위치에 '경기도 성남시 분당구 정자동' 마커를 표시하는 예제입니다. `nmap://place?lat=37.3677345&lng=127.1083617&name=%EA%B2%BD%EA%B8%B0%EB%8F%84%20%EC%84%B1%EB%82%A8%EC%8B%9C%20%EB%B6%84%EB%8B%B9%EA%B5%AC%20%EC%A0%95%EC%9E%90%EB%8F%99&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-marker-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-marker-update_ko.png) ### 대중교통 길찾기 대중교통 길찾기를 수행합니다. #### 액션 경로 ``` /route/public ``` #### 파라미터 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) 항목을 참조해 주십시오. #### 사용 예제 다음은 서울대학교에서 올림픽 공원까지 대중교통으로 가는 경로를 탐색하는 예제입니다. `nmap://route/public?slat=37.4640070&slng=126.9522394&sname=%EC%84%9C%EC%9A%B8%EB%8C%80%ED%95%99%EA%B5%90&dlat=37.5209436&dlng=127.1230074&dname=%EC%98%AC%EB%A6%BC%ED%94%BD%EA%B3%B5%EC%9B%90&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-route-public-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-route-public-update_ko.png) ### 자동차 길찾기 자동차 길찾기를 수행합니다. #### 액션 경로 ``` /route/car ``` #### 파라미터 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) 항목을 참조해 주십시오. #### 사용 예제 **서울대학교에서 올림픽 공원까지 자동차 길찾기 예제** 다음은 서울대학교에서 올림픽 공원까지 자동차로 가는 경로를 탐색하는 예제입니다. `nmap://route/car?slat=37.4640070&slng=126.9522394&sname=%EC%84%9C%EC%9A%B8%EB%8C%80%ED%95%99%EA%B5%90&dlat=37.5209436&dlng=127.1230074&dname=%EC%98%AC%EB%A6%BC%ED%94%BD%EA%B3%B5%EC%9B%90&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-route-car-1-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-route-car-1-update_ko.png) **경유지가 있을 경우 자동차 길찾기 예제** 다음은 그린팩토리에서 서울대학교를 경유해 성남시청까지 자동차로 가는 경로를 탐색하는 예제입니다. `nmap://route/car?slat=37.3595953&slng=127.1053971&sname=%EA%B7%B8%EB%A6%B0%ED%8C%A9%ED%86%A0%EB%A6%AC&secoords=37.359761,127.10527&dlng=127.1267772&dlat=37.4200267&dname=%EC%84%B1%EB%82%A8%EC%8B%9C%EC%B2%AD&decoords=37.4189564,127.1256827&v1lng=126.9522394&v1lat=37.464007&v1name=%20%EC%84%9C%EC%9A%B8%EB%8C%80%ED%95%99%EA%B5%90&v1ecoords=37.466358,126.948357&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-route-car-2-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-route-car-2-update_ko.png) ### 도보 길찾기 도보 길찾기를 수행합니다. #### 액션 경로 ``` /route/walk ``` #### 파라미터 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) 항목을 참조해 주십시오. #### 사용 예제 다음은 서울대학교에서 동원 낙성대 아파트까지 도보로 가는 경로를 탐색하는 예제입니다. `nmap://route/walk?slat=37.4640070&slng=126.9522394&sname=%EC%84%9C%EC%9A%B8%EB%8C%80%ED%95%99%EA%B5%90&dlat=37.4764356&dlng=126.9618302&dname=%EB%8F%99%EC%9B%90%EB%82%99%EC%84%B1%EB%8C%80%EC%95%84%ED%8C%8C%ED%8A%B8&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-route-walk-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-route-walk-update_ko.png) ### 자전거 길찾기 자전거 길찾기를 수행합니다. #### 액션 경로 ``` /route/bicycle ``` #### 파라미터 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) 항목을 참조해 주십시오. #### 사용 예제 다음은 서울대학교에서 올림픽 공원까지 자전거로 가는 경로를 탐색하는 예제입니다. `nmap://route/bicycle?slat=37.4640070&slng=126.9522394&sname=%EC%84%9C%EC%9A%B8%EB%8C%80%ED%95%99%EA%B5%90&dlat=37.5209436&dlng=127.1230074&dname=%EC%98%AC%EB%A6%BC%ED%94%BD%EA%B3%B5%EC%9B%90&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-route-bicycle-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-route-bicycle-update_ko.png) ### 내비게이션 내비게이션 경로를 탐색합니다. #### 액션 경로 ``` /navigation ``` #### 파라미터 [경로 탐색 공통 파라미터](/docs/maps-url-scheme#%EA%B2%BD%EB%A1%9C%ED%83%90%EC%83%89%EA%B3%B5%ED%86%B5%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0) 항목을 참조해 주십시오. #### 사용 예제 **안전 운행 모드 내비게이션** 다음은 안전 운행 모드로 내비게이션 화면을 표시하는 예제입니다. `nmap://navigation?&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-navi-1-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-navi-1-update_ko.png) **현재 위치에서 목적지까지 내비게이션** 다음은 사용자의 현재 위치로부터 올림픽 공원까지 내비게이션 경로를 탐색하는 예제입니다. `nmap://navigation?dlat=37.5209436&dlng=127.1230074&dname=%EC%98%AC%EB%A6%BC%ED%94%BD%EA%B3%B5%EC%9B%90&appname=com.example.myapp` 호출 결과는 다음과 같습니다. ![url-scheme-navi-2-update_ko](https://cdn.document360.io/0406ed95-101f-4cde-8dd8-308d03444a94/Images/Documentation/url-scheme-navi-2-update_ko.png) ### 경로 탐색 공통 파라미터 길찾기(`/route`)와 내비게이션(`/navigation`)에서 사용하는 공통 파라미터입니다. | 파라미터 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | slat | double | N | 출발지 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 사용자의 현 위치 사용 | | slng | double | N | 출발지 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 사용자의 현 위치 사용 | | sname | string | N | 출발지 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 사용자의 현 위치 사용 | | dlat | double | **Y** | 도착지 위도 - 입력값: 31.43 ~ 44.35 | | dlng | double | **Y** | 도착지 경도 - 입력값: 122.37 ~ 132.00 | | dname | string | N | 도착지 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 도착지 주소 표시 | | v1lat | double | N | 경유지 1 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 경유지 없음 | | v1lng | double | N | 경유지 1 경도 - 입력값: `122.37`~`132.00` - 기본값: 경유지 없음 | | v1name | string | N | 경유지 1 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 경유지 없음 | | v2lat | double | N | 경유지 2 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 경유지 없음 | | v2lng | double | N | 경유지 2 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 경유지 없음 | | v2name | string | N | 경유지 2 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 경유지 없음 | | v3lat | double | N | 경유지 3 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 경유지 없음 | | v3lng | double | N | 경유지 3 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 경유지 없음 | | v3name | string | N | 경유지 3 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 경유지 없음 | | v4lat | double | N | 경유지 4 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 경유지 없음 | | v4lng | double | N | 경유지 4 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 경유지 없음 | | v4name | string | N | 경유지 4 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 경유지 없음 | | v5lat | double | N | 경유지 5 위도 - 입력값: 31.43 ~ 44.35 - 기본값: 경유지 없음 | | v5lng | double | N | 경유지 5 경도 - 입력값: 122.37 ~ 132.00 - 기본값: 경유지 없음 | | v5name | string | N | 경유지 5 이름 - 입력값: URL 인코딩된 문자열 - 기본값: 경유지 없음 |