이 문서는 Kakao SDK for Flutter(이하 Flutter SDK)를 사용한 카카오내비 API 구현 방법을 소개합니다.
iOS 디바이스에서 카카오내비 앱을 통한 목적지 공유 및 길 안내를 실행하려면 앱 실행 허용 목록을 설정해야 합니다.
카카오내비를 통한 목적지 공유 또는 길 안내를 요청하기 전, 카카오내비 앱의 실행 가능 여부를 확인할 수 있습니다. NaviApi
의 isKakaoNaviInstalled()
를 호출합니다. 해당 메서드 호출 결과의 의미는 다음과 같습니다.
true
: 다음 중 하나false
카카오내비 앱이 설치되어 있지 않다면 launchBrowserTab()
메서드를 사용해 카카오내비 앱 설치 페이지를 열 수 있습니다. 아래 예제를 참고합니다.
bool result = await NaviApi.instance.isKakaoNaviInstalled();
if (result) {
print('카카오내비 앱으로 길안내 가능');
} else {
print('카카오내비 미설치');
// 카카오내비 설치 페이지로 이동
launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}
레퍼런스 | 앱 설정 |
---|---|
navigate() Location NaviOption |
설치 초기화 앱 실행 허용 목록 설정 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 | - | - |
카카오내비를 실행하여 목적지까지의 길을 안내합니다.
NaviApi
의 navigate()
를 호출합니다.
요청 시 destination
파라미터에 목적지 정보를 전달해야 합니다. 이 밖에 경로 검색 조건을 지정하는 option
파라미터를 사용할 수 있습니다.
요청 성공 시 Flutter SDK가 카카오내비 앱을 실행하여 지정된 목적지까지의 경로 목록을 출력합니다. 사용자가 원하는 경로를 선택하면 길 안내가 시작됩니다.
카카오내비 앱이 설치돼 있지 않은 경우에는 launchBrowserTab()
메서드를 통해 설치 페이지로 이동하도록 할 수 있습니다.
if (await NaviApi.instance.isKakaoNaviInstalled()) {
// 카카오내비 앱으로 길 안내하기, WGS84 좌표계 사용
await NaviApi.instance.navigate(
destination:
Location(name: '카카오 판교오피스', x: '127.108640', y: '37.402111'),
// 경유지 추가
viaList: [
Location(name: '판교역 1번출구', x: '127.111492', y: '37.395225'),
],
);
} else {
// 카카오내비 설치 페이지로 이동
launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}
경유지는 viaList
파라미터에 List<Location>
형식으로 전달합니다.
if (await NaviApi.instance.isKakaoNaviInstalled()) {
// 카카오내비 앱으로 길 안내하기, KATEC 좌표계 사용
await NaviApi.instance.navigate(
destination: Location(name: '카카오 판교오피스', x: '321286', y: '533707'),
viaList: [
Location(name: '판교역 1번출구', x: '321525', y: '532951'),
],
);
} else {
// 카카오내비 설치 페이지로 이동
launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}
레퍼런스 | 앱 설정 |
---|---|
shareDestination() Location NaviOption |
설치 초기화 앱 실행 허용 목록 설정 |
권한 | 사전 설정 | 카카오 로그인 | 동의항목 |
---|---|---|---|
- | 플랫폼 등록 | - | - |
카카오내비를 실행하여 지정한 목적지 정보를 공유합니다.
NaviApi
의 shareDestination()
을 호출합니다.
요청 시 destination
파라미터에 목적지 정보를 전달해야 합니다. 출발지 정보와 경로 검색 조건을 지정하는 option
파라미터를 사용할 수 있습니다.
요청 성공 시 Flutter SDK가 카카오내비 앱을 실행하여 지정된 목적지까지의 경로 정보를 출력합니다. 해당 화면에서 사용자가 원하는 경로를 선택하면 현재 사용자의 위치로부터 목적지까지의 길 안내를 받을 수 있습니다.
카카오내비 앱이 설치돼 있지 않은 경우에는 launchBrowserTab()
메서드를 통해 설치 페이지로 이동하도록 할 수 있습니다. 아래 예제를 참고합니다.
if (await NaviApi.instance.isKakaoNaviInstalled()) {
// 카카오내비 앱으로 목적지 공유하기, WGS84 좌표계 사용
await NaviApi.instance.shareDestination(
destination:
Location(name: '카카오 판교오피스', x: '127.108640', y: '37.402111'),
// 좌표계 지정
option: NaviOption(coordType: CoordType.wgs84),
);
} else {
// 카카오내비 설치 페이지로 이동
launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}
경유지는 viaList
파라미터에 List<Location>
형식으로 전달합니다.
if (await NaviApi.instance.isKakaoNaviInstalled()) {
// 카카오내비 앱으로 목적지 공유하기, WGS84 좌표계 사용
await NaviApi.instance.shareDestination(
destination: Location(name: '카카오 판교오피스', x: '127.108640', y: '37.402111'),
option: NaviOption(coordType: CoordType.wgs84),
viaList: [
Location(name: '판교역 1번출구', x: '321525', y: '532951'),
],
);
} else {
// 카카오내비 설치 페이지로 이동
launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}