페이지 이동경로
  • 문서>
  • 카카오내비>
  • iOS

카카오내비

iOS

이 문서는 Kakao SDK for iOS(이하 iOS SDK)를 사용한 카카오내비 기능 구현 방법을 소개합니다.

시작하기 전에

앱 실행 허용 목록 설정

카카오내비 API는 길 안내의 navigateUrl()와 목적지 공유의 shareUrl() 두 가지 주요 기능을 제공합니다.

navigateUrl() 또는 shareUrl()는 카카오내비 앱으로 목적지 공유 및 길 안내 기능을 실행하는 URL을 반환합니다. 카카오내비 앱이 설치되어 있을 경우에는 앱을 호출하고, 그렇지 않을 경우에는 기본 브라우저로 설치 페이지를 엽니다.

카카오내비 앱 실행을 위해 Info.plist 파일에 URI Scheme 설정을 추가합니다. 다음과 같이 LSApplicationQueriesSchemes에 'kakaonavi-sdk' 값을 추가합니다.

앱 실행 허용 목록 설정 화면

길 안내하기

기본 정보
레퍼런스 앱 설정
[SDK] navigateUrl()
[SDK] NaviLocation
[SDK] NaviOption
설치
모듈 설정
초기화
앱 실행 허용 목록 설정
권한 사전 설정 카카오 로그인 동의항목
- 플랫폼 등록 - -

카카오내비를 실행하여 목적지까지의 길을 안내합니다.

웹 길 안내 제공 종료

iOS SDK 2.8.4부터 카카오내비 앱 미설치 시 웹에서 길 안내를 실행하는 기능을 더 이상 제공하지 않습니다. 카카오내비 앱이 설치돼 있지 않은 경우에는 설치 페이지로 이동합니다. 이전 버전에서 제공하는 웹 길 안내 기능 또한 추후 제공 종료될 예정이므로, 최신 버전 업데이트를 권장합니다.

요청

길 안내는 사용자의 현재 위치로부터 지정한 목적지까지의 경로를 카카오내비로 안내하는 기능입니다. NaviApinavigateUrl()을 호출해 URL을 반환 받아 열도록 구현합니다.

navigateUrl() 호출 시 목적지 정보를 담은 NaviLocation, 검색 조건을 담은 NaviOption 객체를 전달해야 합니다. NaviOption에는 원하는 검색 조건만 지정하여 요청할 수 있습니다. 자세한 정보는 레퍼런스를 참고합니다.

startX, startY, startAngle 파라미터를 사용해 경로 검색 시 참고할 출발 지점을 지정할 수 있습니다. 그러나 길 안내 시에는 사용자의 현재 위치로부터 목적지까지의 안내만을 제공하며, 별도의 출발 지점을 지정할 수는 없습니다.

예제

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)
}
길 안내 예시 화면

추가 기능

경유지

경유지 목록 설정이 가능합니다. 각 경유지 정보를 NaviLocation 객체에 담고, 요청 시 viaList 파라미터로 경유지 NaviLocation의 리스트(List)를 전달합니다.

목적지 공유하기

기본 정보
레퍼런스 앱 설정
[SDK] shareUrl()
[SDK] NaviLocation
[SDK] NaviOption
설치
모듈 설정
초기화
앱 실행 허용 목록 설정
권한 사전 설정 카카오 로그인 동의항목
- 플랫폼 등록 - -

카카오내비를 실행하여 지정한 목적지 정보를 공유합니다.

요청

목적지 공유하기는 카카오내비에서 지정한 목적지 정보를 공유할 수 있는 화면을 보여주는 기능입니다. NaviApishareUrl()을 호출해 URL을 반환 받아 열도록 구현합니다.

shareUrl() 호출 시 목적지 정보를 담은 NaviLocation, 검색 조건을 담은 NaviOption 객체를 전달해야 합니다. NaviOption에는 원하는 검색 조건만 지정하여 요청할 수 있습니다. 자세한 정보는 레퍼런스를 참고합니다.

startX, startY, startAngle 파라미터를 사용해 경로 검색 시 참고할 출발 지점을 지정할 수 있습니다. 그러나 길 안내 시에는 사용자의 현재 위치로부터 목적지까지의 안내만을 제공하며, 별도의 출발 지점을 지정할 수는 없습니다.

예제

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)
}
목적지 공유 예시 화면

추가 기능

경유지

경유지 목록 설정이 가능합니다. 각 경유지 정보를 NaviLocation 객체에 담고, 요청 시 viaList 파라미터로 경유지 NaviLocation의 리스트(List)를 전달합니다.