본문으로 건너뛰기

Make the first API call

NaviHelper API 호출 순서와 API로 구현할 수 있는 시나리오 예제를 설명합니다.

API 호출 순서

1. Initialize SDK

NaviHelper SDK를 시작할 때 initialize API를 호출하여 SDK를 초기화합니다.

val naviHelper: NaviHelper = NaviHelper(context)
naviHelper.initialize()

2. Add eventListener

앱을 사용하기 전에 addListener API를 호출하여 NaviHelper 이벤트 콜백을 등록합니다.

naviHelper.addListener(listener: ai.pleos.playground.navi.helper.listener.NaviHelperEventListener)

3. Remove eventListener

앱을 종료하기에 앞서 등록했던 NaviHelper 이벤트 콜백을 해제합니다. 이벤트 콜백을 해제하려면 removeListener API를 호출합니다.

naviHelper.removeListener(listener: ai.pleos.playground.navi.helper.listener.NaviHelperEventListener)

4. Release SDK

release API를 호출하여 NaviHelper SDK 리소스를 해제합니다.

naviHelper.release()

API 사용 시나리오 예시

1. 목적지 설정, 확인 및 취소

// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)

// 목적지 확인
naviHelper.getDestinationInfo()

// onDestinationInfo callback으로 데이터 수신
override fun onDestinationInfo(destinationInfo: DestinationInfo) {
Log.d(logTag, "onDestinationInfo $destinationInfo")
}

// 목적지 취소
naviHelper.cancelRoute()


2. 경유지 설정 및 삭제

// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)

// 경유지 추가
naviHelper.addWaypoint(
RequestWaypointInfo(
latitude = 37.41275833,
longitude = 127.09481944,
waypointIndex = WaypointIndex.FIRST,
poiId = "36khp2hdj2cfcm5nqhe3",
poiName = "소프트웨어드림센터",
poiSubId = "0",
address = "경기도 성남시 수정구 창업로40번길 6"
)
)

// onWaypointInfo callback으로 데이터 수신
override fun onWaypointInfo(waypointInfo: List<WaypointInfo>) {
Log.d(logTag, "onWaypointInfo $waypointInfo")
}

// 경유지 삭제
naviHelper.removeWaypoint(WaypointIndex.FIRST)

// 목적지 취소
naviHelper.cancelRoute()

3. 경로 옵션 변경

// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)

// 경로옵션: 고속우선으로 변경
naviHelper.changeRouteOption(RouteOption.HIGHWAY)

// onRouteOptionChanged callback으로 변경 데이터 수신
override fun onRouteOptionChanged(routeOption: RouteOption) {
Log.d(logTag, "onRouteOptionChanged $routeOption")
}

// 목적지 취소
naviHelper.cancelRoute()

4. 경로 재탐색

// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)

// 경로 재탐색 요청
naviHelper.requestReRoute()

// 목적지 취소
naviHelper.cancelRoute()

5. 내비게이션 정보(즐겨찾기/현재위치/주행정보) 확인

// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)

// 즐겨찾기 정보 확인
naviHelper.getBookmarkInfo()

// onBookmarkInfo callback으로 데이터 수신
override fun onBookmarkInfo(bookmarkInfo: List<BookmarkInfo>) {
Log.d(logTag, "onBookmarkInfo $bookmarkInfo")
}

// 현재 위치 정보 확인
naviHelper.getCurrentLocationInfo()

// onCurrentLocationInfo callback으로 데이터 수신
override fun onCurrentLocationInfo(currentLocationInfo: CurrentLocationInfo) {
Log.d(logTag, "onCurrentLocationInfo $currentLocationInfo")
}

// 주행정보 확인
naviHelper.getRouteStateInfo()

// onRouteStateInfo callback으로 데이터 수신
override fun onRouteStateInfo(routeStateInfo: RouteStateInfo) {
Log.d(logTag, "onRouteStateInfo $routeStateInfo")
}

// 최근 목적지 정보 확인
naviHelper.getRecentDestinationInfo()

// onRecentDestinationInfo callback으로 데이터 수신
override fun onRecentDestinationInfo(recentDestinationInfo: RecentDestinationInfo) {
Log.d(logTag, "onRecentDestinationInfo $recentDestinationInfo")
}

// 목적지 취소
naviHelper.cancelRoute()

6. 충전소 사업자 정보 확인

naviHelper.getChargerOperatorInfo()

// onChargerOperatorInfo callback으로 데이터 수신
override fun onChargerOperatorInfo(chargerOperatorList: List<ChargerOperator>) {
Log.d(logTag, "onChargerOperatorInfo chargerOperatorList")
}