본문 바로가기메인 메뉴 바로가기사이드 메뉴 바로가기

kakao developers

Related sites

사이드 메뉴

Kakao Map

Search

Kakao Navi

iOS

This document describes how to integrate the Kakao Navi API into your service with the Kakao SDK for iOS ("iOS SDK").

Before you begin

Register Allowlist

The Kakao Navi API provides the navigateUrl() method for navigation and the shareUrl() method for location sharing.

navigateUrl() and shareUrl() return URL to invoke the navigation and location sharing function with the Kakao Navi application ("app"). If the Kakao Navi app is installed on a user's device, the app is launched. If not, the user should be directed to the download page for the Kakao Navi app.

To allow a user's device to launch the Kakao Navi app, you must set a URI scheme in the plist file as follows:

  1. Add the LSApplicationQueriesSchemes key with an array type in the plist file.
  2. Add "kakaonavi-sdk'" to the LSApplicationQueriesSchemes key.

Setting custom URL scheme for Kakao Navi in Xcode

Start navigation

Basic information
ReferenceApp setting
[SDK] navigateUrl()
[SDK] NaviLocation
[SDK] NaviOption
Install
Import modules
Initialize
Register Allowlist

Starts directions from a user's current location to the entered destination.

End of support for Kakao Navi web version

  • From Android SDK 2.8.4, the feature to run directions on the web is no longer available if Kakao Navi is not installed.
  • If Kakao Navi is not installed, users are redirected to the installation page.
  • The web directions feature provided in previous versions will also be discontinued in the future, so updating to the latest version is recommended.

Request

To start navigation from a user's current location to the entered destination on the Kakao Navi app, call the navigateUrl() method defined in the NaviApi class, which returns URL to launch the Kakao Navi app. You must pass destination as NaviLocation object containing the destination information as an argument. You can also specify the desired search criteria using NaviOption.

Sample

let destination = NaviLocation(name: "카카오판교오피스", x: "321286", y: "533707")
let viaList = [NaviLocation(name: "판교역 1번출구", x: "321525", y: "532951")]
guard let navigateUrl = NaviApi.shared.navigateUrl(destination: destination, viaList: viaList) else {
return
}
if UIApplication.shared.canOpenURL(navigateUrl) {
UIApplication.shared.open(navigateUrl, options: [:], completionHandler: nil)
} else {
UIApplication.shared.open(NaviApi.webNaviInstallUrl, options: [:], completionHandler: nil)
}

길 안내 예시 화면

Additional feature

Waypoint

To add waypoints, pass viaList through NaviLocation object.

Share location

Basic information
ReferenceApp setting
[SDK] shareUrl()
[SDK] NaviLocation
[SDK] NaviOption
Install
Import modules
Initialize
Register Allowlist

Provides a screen to share the destination specified on the Kakao Navi app.

Request

To share the specified location through the Kakao Navi app, call the shareUrl() method in the NaviApi class, which returns URL. You must pass destination as NaviLocation object containing the location information as an argument. You can also specify the desired search criteria using NaviOption.

Sample

let destination = NaviLocation(name: "카카오판교오피스", x: "321286", y: "533707")
guard let shareUrl = NaviApi.shared.shareUrl(destination: destination) else {
return
}
if UIApplication.shared.canOpenURL(shareUrl) {
UIApplication.shared.open(shareUrl, options: [:], completionHandler: nil)
}
else {
UIApplication.shared.open(NaviApi.webNaviInstallUrl, options: [:], completionHandler: nil)
}

목적지 공유 예시 화면

Additional feature

Waypoint

To share loacation with waypoints, pass viaList through NaviLocation object.

Was this helpful?