Make the first API call
NaviHelper API 호출 순서와 API로 구현할 수 있는 시나리오 예제를 설명합니다.
API 호출 순서
1. Initialize SDK
NaviHelper SDK를 시작할 때 initialize API를 호출하여 SDK를 초기화합니다.
- Kotlin
- Java
val naviHelper: NaviHelper = NaviHelper(context)
naviHelper.initialize()
NaviHelper naviHelper = new NaviHelper(context);
naviHelper.initialize();
2. Add eventListener
앱을 사용하기 전에 addListener API를 호출하여 NaviHelper 이벤트 콜백을 등록합니다.
- Kotlin
- Java
naviHelper.addListener(listener: ai.pleos.playground.navi.helper.listener.NaviHelperEventListener)
naviHelper.addListener(new ai.pleos.playground.navi.helper.listener.NaviHelperEventListener());
3. Remove eventListener
앱을 종료하기에 앞서 등록했던 NaviHelper 이벤트 콜백을 해제합니다. 이벤트 콜백을 해제하려면 removeListener API를 호출합니다.
- Kotlin
- Java
naviHelper.removeListener(listener: ai.pleos.playground.navi.helper.listener.NaviHelperEventListener)
naviHelper.removeListener(new ai.pleos.playground.navi.helper.listener.NaviHelperEventListener());
4. Release SDK
release API를 호출하여 NaviHelper SDK 리소스를 해제합니다.
- Kotlin
- Java
naviHelper.release()
naviHelper.release();
API 사용 시나리오 예시
- 1. 목적지 설정, 확인 및 취소
- 2. 경유지 설정 및 삭제
- 3. 경로 옵션 변경
- 4. 경로 재탐색
- 5. 내비게이션 정보(즐겨찾기/현재위치/주행정보) 확인
- 6. 충전소 사업자 정보 확인
1. 목적지 설정, 확인 및 취소
- Kotlin
- Java
// 목적지 설정
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()
// 목적지 설정
naviHelper.requestRoute(new RouteInfo(
127.03636666,
37.48544722,
"42dot",
"36khp37hh8gqcm5nqhe5",
"서울시 강남구 남부순환로 2621",
"0",
RouteOption.RECOMMENDED
));
// 목적지 확인
naviHelper.getDestinationInfo();
// onDestinationInfo callback으로 데이터 수신
@Override
public void onDestinationInfo(DestinationInfo destinationInfo) {
Log.d(logTag, "onDestinationInfo = " + destinationInfo);
}
// 목적지 취소
naviHelper.cancelRoute();
2. 경유지 설정 및 삭제
- Kotlin
- Java
// 목적지 설정
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()
// 목적지 설정
naviHelper.requestRoute(new RouteInfo(
127.03636666,
37.48544722,
"42dot",
"36khp37hh8gqcm5nqhe5",
"서울시 강남구 남부순환로 2621",
"0",
RouteOption.RECOMMENDED
));
// 경유지 추가
naviHelper.addWaypoint(new RequestWaypointInfo(
127.09481944,
37.41275833,
"소프트웨어드림센터",
WaypointIndex.FIRST,
"36khp2hdj2cfcm5nqhe3",
"경기도 성남시 수정구 창업로40번길 6",
"0"
));
// onWaypointInfo callback으로 데이터 수신
@Override
public void onWayPointInfo(List<WaypointInfo> list) {
Log.d(logTag, "onWayPointInfo = " + list);
}
// 경유지 삭제
naviHelper.removeWaypoint(WaypointIndex.FIRST);
// 목적지 취소
naviHelper.cancelRoute();
3. 경로 옵션 변경
- Kotlin
- Java
// 목적지 설정
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()
// 목적지 설정
naviHelper.requestRoute(new RouteInfo(
127.03636666,
37.48544722,
"42dot",
"36khp37hh8gqcm5nqhe5",
"서울시 강남구 남부순환로 2621",
"0",
RouteOption.RECOMMENDED
));
// 경로옵션: 고속우선으로 변경
naviHelper.changeRouteOption(RouteOption.HIGHWAY);
// onRouteOptionChanged callback으로 변경 데이터 수신
@Override
public void onRouteOptionChanged(@NonNull RouteOption routeOption) {
Log.d(logTag, "onRouteOptionChanged = " + routeOption);
}
// 목적지 취소
naviHelper.cancelRoute();
4. 경로 재탐색
- Kotlin
- Java
// 목적지 설정
naviHelper.requestRoute(
RouteInfo(
latitude = 37.48544722,
longitude = 127.03636666,
poiId = "36khp37hh8gqcm5nqhe5",
poiName = "42dot",
poiSubId = "0",
address = "서울시 강남구 남부순환로 2621"
)
)
// 경로 재탐색 요청
naviHelper.requestReRoute()
// 목적지 취소
naviHelper.cancelRoute()
// 목적지 설정
naviHelper.requestRoute(new RouteInfo(
127.03636666,
37.48544722,
"42dot",
"36khp37hh8gqcm5nqhe5",
"서울시 강남구 남부순환로 2621",
"0",
RouteOption.RECOMMENDED
));
// 경로 재탐색 요청
naviHelper.requestReRoute()
// 목적지 취소
naviHelper.cancelRoute()
5. 내비게이션 정보(즐겨찾기/현재위치/주행정보) 확인
- Kotlin
- Java
// 목적지 설정
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()
// 목적지 설정
naviHelper.requestRoute(new RouteInfo(
127.03636666,
37.48544722,
"42dot",
"36khp37hh8gqcm5nqhe5",
"서울시 강남구 남부순환로 2621",
"0",
RouteOption.RECOMMENDED
));
// 즐겨찾기 정보 확인
naviHelper.getBookmarkInfo();
// onBookmarkInfo callback으로 데이터 수신
@Override
public void onBookmarkInfo(List<BookmarkInfo> list) {
Log.d(logTag, "onBookmarkInfo = " + list);
}
// 현재 위치 정보 확인
naviHelper.getCurrentLocationInfo();
// onCurrentLocationInfo callback으로 데이터 수신
@Override
public void onCurrentLocationInfo(CurrentLocationInfo currentLocationInfo) {
Log.d(logTag, "onCurrentLocationInfo = " + currentLocationInfo);
}
// 주행정보 확인
naviHelper.getRouteStateInfo();
@Override
public void onRouteStateInfo(RouteStateInfo routeStateInfo) {
Log.d(logTag, "onRouteStateInfo = " + routeStateInfo);
}
// 최근 목적지 정보 확인
naviHelper.getRecentDestinationInfo();
// onRecentDestinationInfo callback으로 데이터 수신
@Override
public void onRecentDestinationInfo(List<RecentDestinationInfo> list) {
Log.d(logTag, "onRecentDestinationInfo = " + list);
}
// 목적지 취소
naviHelper.cancelRoute();
6. 충전소 사업자 정보 확인
- Kotlin
- Java
naviHelper.getChargerOperatorInfo()
// onChargerOperatorInfo callback으로 데이터 수신
override fun onChargerOperatorInfo(chargerOperatorList: List<ChargerOperator>) {
Log.d(logTag, "onChargerOperatorInfo chargerOperatorList")
}
naviHelper.getChargerOperatorInfo();
// onChargerOperatorInfo callback으로 데이터 수신
@Override
public void onChargerOperatorInfo(List<ChargerOperator> list) {
Log.d(logTag, "onChargerOperatorInfo = " + list);
}