안녕하세요
질문요약 : startWIthTrip 메소드를 활용해서 경로안내가 시작되면 어떤 기능들이 동작하나요? 그리고 어떻게 동작해야하나요? 간단한 예제가 있다면 부탁드리겠습니다.
https://developers.kakaomobility.com/docs/android-ui-ref-kotlin/class-KNGuidance/
의 startWithTrip 메소드를 활용해도 경로안내를 시작하지 않습니다.
startWIthTrip 메소드를 활용해서 경로안내가 시작되면 어떤 기능들이 동작하나요?
저는 지금 TBT의 위치, 도착지와 출발지도 임의로 제가 설정했습니다. 운행시작을 하면 이와 비슷한 기능들이 다 알아서 동작될 것이라고 생각했습니다. 아래는 제가 작성한 코드입니다.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
fun requestRoute() {
val x = FindLoadApplication.knsdk.sharedGpsManager()?.recentGpsData?.pos?.x ?: 0.0
val y = FindLoadApplication.knsdk.sharedGpsManager()?.recentGpsData?.pos?.y ?: 0.0
var currentLocWGS = KATECToWGS84(x, y)
// 예시 목적지는 서울역
val goalKatec = WGS84ToKATEC(126.972263, 37.556091)
val startKatec = WGS84ToKATEC(currentLocWGS.x, currentLocWGS.y)
// 출발지와 목적지를 설정합니다.
val startPoi = KNPOI("현위치", startKatec.x.toInt(),startKatec.y.toInt(),"현위치")
val goalPoi = KNPOI("목적지",goalKatec.x.toInt(),goalKatec.y.toInt(),"목적지")
FindLoadApplication.knsdk.makeTripWithStart(
aStart = startPoi,
aGoal = goalPoi,
aVias = null
) { aError, aTrip ->
// 경로 요청이 성공하면 aError는 Null이 됩니다.
if (aError == null) {
Log.v(TAG, "경로요청 성공")
runOnUiThread {
val avoidOption = 0
val routeOption = KNRoutePriority.KNRoutePriority_Recommand
aTrip?.routeWithPriority(routeOption, avoidOption) { error, routes ->
// 경로 요청 실패
if (error != null) {
Log.v(TAG,"error is ${error.msg} code is ${error.code}")
}
// 경로 요청 성공
else {
Log.v(TAG,"routes is ${routes}")
if (routes != null) {
//binding.mapView.setRoutes(routes.toList())
FindLoadApplication.knsdk.sharedGuidance()?.startWithTrip(aTrip, KNRoutePriority.KNRoutePriority_Time, KNRouteAvoidOption.KNRouteAvoidOption_RoadEvent.value)
}
}
}
}
}
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ