Android KNSDK v1.12.8-hotfix01 문의

안녕하세요.

길찾기 with UI v1.12.8-hotfix01 버전을 사용중입니다.

아래 내용을 문의드립니다.

  1. 경로 상 차량아이콘
    아래와 같이 경로선 상의 차량 아이콘이 표출되고 있는데,
    어떤 타입의 어떤 코드로 수신되는지 확인이 안되며,
    sharedGuidance의 excludedSafeties로 어떤 값을 설정해야 해당 아이콘을 표출시키지 않을 수 있는지 문의드립니다.

  2. 모의 주행
    2-1. sharedSimulGuidance() NPE 발생
    모의주행 중이지 않은 상태에서 kakoNaviSDK.sharedSimulGuidance()의 null 체크를 하고자 하면
    NPE 가 발생합니다.

    [NavigationActivity.kt:8697]
    kakaoNaviSdk?.sharedSimulGuidance() != null

    [FATAL]
    E FATAL EXCEPTION: main (Ask Gemini)
    Process: co.kr.telecons.mapzinair, PID: 28364
    java.lang.NullPointerException: null cannot be cast to non-null type com.kakaomobility.knsdk.guidance.knguidance.KNSimulGuidance
    at com.kakaomobility.knsdk.KNBaseSDK.sharedSimulGuidance(KNBaseSDK.kt:7)
    at co.kr.telecons.mapzinair.activity.NavigationActivity.checkIsSimulating(NavigationActivity.kt:8697)
    at co.kr.telecons.mapzinair.activity.NavigationActivity.onStart(NavigationActivity.kt:1162)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1701)
    at android.app.Activity.performStart(Activity.java:9406)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4488)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:270)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:250)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:222)
    at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:107)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:81)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2895)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loopOnce(Looper.java:257)
    at android.os.Looper.loop(Looper.java:342)
    at android.app.ActivityThread.main(ActivityThread.java:9634)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:619)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)

    2-2. isStartingSimulation
    isStartingSimulation이 모의주행 상태와 관련된 값으로 추정하여 값을 확인해보았으나
    모의 주행 시작 종료와 별개로 isStartingSimulation 값은 항상 false로 확인됩니다.
    어떤 역할의 변수인지와, SDK에서 제공하는 현재 모의주행 중인지에 대한 값을 알 수 있을까요?

    2-3. sharedSimulGuidance safetiesOnGuide
    simulGuidance = KNSimulGuidance(application)
    simulGuidance?.excludedSafeties = // 제외할 code

        // sharedGuidance에서 복사한 delegate를 simulGuidance에 할당
        simulGuidance?.guideStateDelegate = savedGuideStateDelegate
        simulGuidance?.locationGuideDelegate = savedLocationGuideDelegate
        simulGuidance?.routeGuideDelegate = savedRouteGuideDelegate
        simulGuidance?.safetyGuideDelegate = savedSafetyGuideDelegate
        simulGuidance?.voiceGuideDelegate = savedVoiceGuideDelegate
        simulGuidance?.citsGuideDelegate = savedCitsGuideDelegate
    
        simulGuidance?.setSimulationSpeed(speed)
    
        naviView.initWithGuidance(simulGuidance!!, trip, routeOption, avoidOption)
    

    현재 위와 같이 모의주행을 실행하고 있으며, 실행 후 sharedSimulGuidance() 는 null이 아니지만,
    sharedSimulGuidance() 내 safetyGuide?.safetiesOnGuide 는 값이 비어있는 것을 확인하여 구현부에 이상이 있는 것인지 문의드립니다.

    2-4. 목적지 도착 판정
    모의 주행으로 목적지 도착 시 도착 판정과 도착 안내음이 수신되지 않고 출발지로 돌아가 루핑됩니다.
    루핑을 종료할 수 있는지와 목적지 도착 시 루핑을 선택처리할 수 있는지(목적지 도착 시 출발지로 이동하지만 모의주행은 일시정지되어 재개 시 모의주행 시작) 문의드립니다.

    2-5. 모의 주행 중 재탐색 버튼
    실 주행 시에는 CheckingRouteChange 이후 RouteChanged, RouteUnChanged, RouteUnChangedWithError 셋 중 한개의 콜백이 수신되는 것으로 알고 있습니다.
    모의 주행 중 재탐색 버튼을 누르면 어떤 콜백의 순서대로 들어오는지 문의드립니다.**

    2-6. 모의 주행 중 구간단속 평균속도는 0으로 유지되는 것을 확인했습니다.**
    평균속도를 실환경처럼 테스트하기 위해서 설정할 수 있는 부분이 있는지 문의드립니다.

  3. POI 렌더링
    경로에 따라 차기 TBT 회전 구간에서 회전 후 오토줌 발생 시 POI 일시적으로 많이 과다하게 표출되었다가 사라지는 현상이 있습니다.

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

1. 해당 이미지는 화물차 높이, 중량 제한 코드가 있는 경우 나타나게 되며, 아래 코드를 제외하시면 됩니다
KNSafetyCode_HeightLimitPos(28) 높이제한
KNSafetyCode_WeightLimitPos(29) 중량제한

2.1 KNSimulGuidance가 Null이면서 DriveGuidance가 주행 중이 아닌 상태일 때 정상적으로 KNSimulGuidance가 생성이 됩니다.
해당 증상이 발생하는 경로를 알려주시면 확인하기가 수월할 것 같습니다

2.2 해당 값은 시뮬 주행 중인 상태에서 pause 상태인지의 여부를 판단하기 위한 플래그이며, 현재 시뮬 주행 중인지의 상태값으로는 사용할 수 없습니다.
주행상태는 KNNaviView_GuideStateDelegate.naviViewGuideState의 state 값으로 확인하실 수 있습니다.

2.3 safetiesOnGuide는 주행 시 좌측 중단에서 확인하는 표지판 정보이며, 해당 정보는 비어있을 수 있습니다.
테스트하셨던 경로를 알려주시면 확인해볼 수 있을것 같습니다.

2.4 모의주행 시 하단 메뉴의 좌측 아이콘을 누르게되면 1로 변경되며, 1회만 동작됩니다 (처음상태 그대로인 경우 반복됩니다)

2.5 모의주행 시에는 경로 새로고침은 제공되지 않습니다.

  1. 해당 부분은 이후 버전에서 수정될 예정입니다.

현재 사용하시는 시뮬주행의 경우, 정식으로 제공되는 기능은 아니기 때문에 사용하시면서 문제가 발생할 수 있습니다 참고부탁드립니다

감사합니다.