카카오 내비 길찾기 sdk 내장형 주행 설정하기

카카오내비 SDK와 관련된 질문과 답변을 올리는 카테고리입니다.

private fun getDirections() {
val currentKatec= WGS84ToKATEC(currentLongitude,currentLatitude)
val goalKatec = WGS84ToKATEC(126.99985062, 37.26609306)
Log.d(“mainactivity”,“long:${currentKatec.x}, lati:${currentKatec.y}\n goal:${goalKatec.x} - ${goalKatec.y}”)

    val start = KNPOI("current", currentKatec.x.toInt(), currentKatec.y.toInt())
    val goal = KNPOI("sea", goalKatec.x.toInt(), goalKatec.y.toInt())
    // 경로 생성
    KNSDK.makeTripWithStart(start, goal, null) { knError, knTrip ->
        if (knError != null) {
            // 오류 처리
            println("경로 생성 실패: ${knError.msg}")
            // 여기에서 사용자에게 오류를 알리거나 로그를 남기는 작업을 수행합니다.
        } else if (knTrip != null) {
            // 성공 처리
            println("경로 생성 성공: 시작점 - ${knTrip.start}, 도착점 - ${knTrip.goal}")
            // 차량 정보 및 기타 설정 반영
            val routeConfig = KNRouteConfiguration(
                KNCarType.KNCarType_1,      // 차량의 종류 (예: SEDAN, SUV 등)
                KNCarFuel.KNCarFuel_Gasoline,  // 차량의 용도 (예: PERSONAL, COMMERCIAL 등)
                true,                 // 하이패스 장착 여부
                KNCarUsage.KNCarUsage_Default,                // 유고 정보 반영 여부
                1800,                 // 차량의 전폭 (단위: mm)
                1400,                 // 차량의 전고 (단위: mm)
                4500,                 // 차량의 전장 (단위: mm)
                1500                  // 차량의 중량 (단위: kg)
            )

            // 경로에 설정 적용
            knTrip.setRouteConfig(routeConfig)

            // 경로 옵션 설정
            val curRoutePriority = KNRoutePriority.KNRoutePriority_Recommand
            val curAvoidOptions = 0

            Log.d("mainactivity","우선순위: ${curRoutePriority}, 회피옵션: ${curAvoidOptions}")

            // 경로 요청
            knTrip.routeWithPriority(curRoutePriority, curAvoidOptions) { error, _ ->
                if (error != null) {
                    // 경로 요청 실패
                    Log.e("mainactivity", "경로 요청 실패: code - ${error.code}, msg - ${error.msg} \n ${error.tagMsg} === ${error.extra}")
                } else {
                    // 경로 요청 성공
                    val naviView = KNSDK.sharedGuidance()
                    naviView?.apply {
                        // 각 가이던스 델리게이트 등록
                        guideStateDelegate = this@MainActivity
                        locationGuideDelegate = this@MainActivity
                        routeGuideDelegate = this@MainActivity
                        safetyGuideDelegate = this@MainActivity
                        voiceGuideDelegate = this@MainActivity
                        citsGuideDelegate = this@MainActivity

                        knNaviView.initWithGuidance(
                            this,
                            knTrip,
                            curRoutePriority,
                            curAvoidOptions
                        )
                    }
                }
            }

        } else {
            // 예상치 못한 상태 처리
            println("예상치 못한 오류 발생")
        }
    }
}

현재 위치(경기대학교)에서 수원역으로의 경로를 설정해보았는데 경로 생성은 됐지만 경로 요청에서 에러가 납니다…

경로 생성 성공: 시작점 - KNPOI(name=current, pos=point info = [x: 315037 , y: 522549], poiId=null, rpFlag=, address=null, destinationType=KNPOIDestinationType_Destination), 도착점 - KNPOI(name=sea, pos=point info = [x: 311488 , y: 518714], poiId=null, rpFlag=, address=null, destinationType=KNPOIDestinationType_Destination)

경로 요청 실패: code - 20417, msg - Not found route. null === null

해결방법을 알고 싶습니다!

안녕하세요, 카카오모빌리티 기술 제휴 담당자입니다.

확인을 위해 사용하신 SDK 버전과 앱 아이디 확인 부탁드립니다.

감사합니다.

sdk 버전: 1.9.4

앱 아이디: 1101458

입니다.

문의 주신 정보로 확인한 결과
출발, 도착지에는 문제가 없으나, KNRouteConfiguration의 설정이 잘못되어 있는 것 같습니다.

차량의 전폭, 전고, 전장, 중량 등의 값 설정이 잘못되어 보입니다
(요청하신 값은 1500, 1400, 4500, 1800으로 설정하신 차량 타입과 맞지 않아보입니다)
각각의 단위는 cm, cm, cm, 0.1t 이며, 해당 단위로 다시 설정 또는 기본값인 -1 로 설정하여 다시 한번 확인부탁드립니다
(https://developers.kakaomobility.com/docs/ios-ui-ref-objectivec/class-KNRouteConfiguration/)

감사합니다.

기본값으로 설정하여 해결하였습니다. 감사합니다!

1개의 좋아요