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

kakao developers

관련사이트

사이드 메뉴

검색

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

레퍼런스앱 설정
[SDK] navigateUrl()
[SDK] NaviLocation
[SDK] NaviOption

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

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

길 안내는 사용자의 현재 위치로부터 지정한 목적지까지의 경로를 카카오내비로 안내하는 기능입니다. NaviApi의 navigateUrl()을 호출해 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
}
UIApplication.shared.open(navigateUrl, options: [:]) { result in
if result == false {
UIApplication.shared.open(NaviApi.webNaviInstallUrl, options: [:], completionHandler: nil)
}
}

길 안내 예시 화면

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

레퍼런스앱 설정
[SDK] shareUrl()
[SDK] NaviLocation
[SDK] NaviOption

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

목적지 공유는 카카오내비에서 지정한 목적지 정보를 공유할 수 있는 화면을 보여주는 기능입니다. NaviApi의 shareUrl()을 호출해 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
}
UIApplication.shared.open(shareUrl, options: [:]) { result in
if result == false {
UIApplication.shared.open(NaviApi.webNaviInstallUrl, options: [:], completionHandler: nil)
}
}

목적지 공유 예시 화면

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

도움이 되었나요?

    카카오내비 > iOS - 카카오디벨로퍼스 | 문서