에러는 발생되지 않았고 지도캡은 따로 설정하지 않았습니다.
내비화면에서 카카오내비 사용을 위한 초기설정 및 주행요청 소스 첨부해봅니다.
fun knsdkAuth() {
KNApplication.knsdk.apply {
initializeWithAppKey(
aAppKey = BuildConfig.REAL_APP_KEY, // 카카오디벨로퍼스에서 부여 받은 앱 키
aClientVersion = BuildConfig.VERSION_NAME, // 현재 앱의 클라이언트 버전
aAppUserId, // 사용자 id
aLangType = KNLanguageType.KNLanguageType_KOREAN, // 언어 타입
aCompletion = {
// Toast는 UI를 갱신하는 작업이기 때문에 UIThread에서 동작되도록 해야 합니다.
runOnUiThread {
if (it != null) {
Toast.makeText(applicationContext, "인증에 실패하였습니다", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(applicationContext, "인증 성공하였습니다", Toast.LENGTH_LONG).show()
requestRoute();
}
}
})
}
}
fun requestRoute(){
Thread{
var point: DoublePoint = KNApplication.knsdk.convertWGS84ToKATEC(lan.toDouble(),lat.toDouble())//목적지
var curPoint:DoublePoint = KNSDK.sharedGpsManager()?.recentGpsData?.pos?:DoublePoint(
KN_DEFAULT_POS_X.toDouble(), KN_DEFAULT_POS_Y.toDouble())
// val nowPos = (KNSDK.sharedGpsManager()?.lastValidGpsData?.pos ?: FloatPoint(314870f,542995f))
// 출발지와 목적지를 설정합니다.//KATEC좌표계
val startPoi = KNPOI("현위치", curPoint.x.toInt(),curPoint.y.toInt(),"현위치")//val startPoi = KNPOI("현위치", (KNSDK.sharedGpsManager()?.lastValidGpsData?.pos?.x?.toInt():314870))// val startPoi = KNPOI("현위치", 309840,552483,"현위치")
val goalPoi = KNPOI(name, point.x.toInt(),point.y/*.toString().split(".")[0]*/.toInt(),addr)//val goalPoi = KNPOI("목적지", 321497,532896,"목적지")
KNApplication.knsdk.makeTripWithStart(
aStart = startPoi,
aGoal = goalPoi,
aVias = null
)
{ aError, aTrip ->
//경로 요청이 성공하면 aError는 Null이 됩니다.
if (aError == null) {
startGuide(aTrip)
}
}
}.start()
}