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

카카오내비

Flutter

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

시작하기 전에

앱 실행 허용 목록 설정

iOS 디바이스에서 카카오내비 앱을 통한 목적지 공유 및 길 안내를 실행하려면 앱 실행 허용 목록을 설정해야 합니다.

카카오내비 앱 실행 가능 여부 확인

카카오내비를 통한 목적지 공유 또는 길 안내를 요청하기 전, 카카오내비 앱의 실행 가능 여부를 확인할 수 있습니다. NaviApiisKakaoNaviInstalled()를 호출합니다. 해당 메서드 호출 결과의 의미는 다음과 같습니다.

  • true: 다음 중 하나
    • 모바일 기기의 네이티브 앱에서 요청했고, 카카오내비 앱이 설치돼 있는 경우
    • 모바일 기기의 웹 브라우저(웹뷰)에서 요청한 경우
  • false
    • 모바일 기기의 네이티브 앱에서 요청했고, 카카오내비 앱이 설치돼 있지 않은 경우
    • 모바일 기기가 아닌 경우

카카오내비 앱이 설치되어 있지 않다면 launchBrowserTab() 메서드를 사용해 카카오내비 앱 설치 페이지를 열 수 있습니다. 아래 예제를 참고합니다.

bool result = await NaviApi.instance.isKakaoNaviInstalled();
if (result) {
    print('카카오내비 앱으로 길안내 가능');
} else {
    print('카카오내비 미설치');
    // 카카오내비 설치 페이지로 이동
    launchBrowserTab(Uri.parse(NaviApi.webNaviInstall));
}

길 안내하기

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

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

요청

NaviApinavigate()를 호출합니다.

요청 시 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
설치
초기화
앱 실행 허용 목록 설정
권한 사전 설정 카카오 로그인 동의항목
- 플랫폼 등록 - -

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

요청

NaviApishareDestination()을 호출합니다.

요청 시 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));
}