Android Kakao SDK 사용 중 GPS 관련 문의

Android 카카오내비 길찾기 SDK 사용 중 GPS 수신과 관련하여 문의 사항이 있습니다.

  1. 일반 GPS 관련 앱
    (1) 일반적인 GPS 수신과 관련하여서는 Activity에 LocationListener를 구현하도록 하고
    (2) onLocationChagend에서 갱신된 location(Location) 정보를 이용하도록 구현하였습니다.

  2. 구현하고자 하는 앱
    (1) 중간에 hub 역할을 하는 앱이 존재하고
    (2) 해당 hub용 앱에서 GPS를 수신하고
    (3) hub에서 GPS 정보를 내비게이션에 전달 (현재 포맷은 미정의)

  3. Kakao앱 샘플
    (1) Kakao 앱 샘플에서는 FragmentMap에서 KNGPSReceiver를 구현하도록 되어 있고
    (2) didReceiveGpsData 함수를 구현하도록 되어 있는데, 해당 함수가 GPS가 수신되면 호출하게 되는 것으로 이해 하면 되는 것인가요?
    (3) Kakao앱 샘플에서는 실제 GPS를 수신하는 코드가 어느 부분에 해당하는지 확인되지 않습니다.
    (4) Kakao앱 샘플을 README.md 파일을 보면
    ㄱ. KNSDK.sharedGpsManager를 통해 KNGPSManager를 가져올 수 있고,
    ㄴ. KNGPSManager는 GPS 수신 시 마다 recentGpsData를 갱신하다고 작성되어 있는데, 샘플앱에서는 해당 코드를 찾지 못하였습니다.

[문의 사항]
카카오내비 길찾기 SDK에서 GPS를 직접연결하지 않고, 2번 처럼 hub에서 GPS 정보(포맷 미정의)를 수신하여 카카오내비 길찾기 앱에 전달해 줄 수 있는 방안이 있는지 문의 드립니다.

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

GPS 정보는 KNSDK 내에서 수신한 GPS 정보만을 사용할 수 있습니다. KNSDK 초기화 시 KNSDK 내부에서 KNGPSManager를 활용하여 GPS를 연결하는 방식으로 동작합니다. 외부에서 제공한 GPS 정보를 KNSDK 내비게이션 화면으로 전달하는 기능은 지원하지 않습니다.

감사합니다.

1개의 좋아요

안녕하세요. 우선 답변 감사드립니다.

해당 기능은 지원하지 않는다고 말씀해 주셨는데,

GPS를 연결하는 방식이 지원되지 않는다면,

  1. 외부(hub) 앱에서 Intent를 통해 GPS 정보를 주기적으로 전달 받아 KNSDK로 개발한 내비게이션 앱에서 KNGPSData 형태로 가공하여 사용할 수 있는 방안은 적용 한지 문의 드립니다.

  2. NMEA 정보 또는 가동된 GPS 정보 자체를 KNSDK 앱에 전달하여 적용 가능한 것인지도 다시 한번 문의 드립니다. (KNGPSManager에 NMEA 정보를 set… 할 수 있는 API가 제공 가능한 것인지에 대한 문의 입니다.)

감사합니다.

추가적으로 문의가 있어서 첨삭 드립니다.

Android OS의 OS단에서 LocationManager 형태로 정보가 수신되면 KNGPSManager 사용이 가능한지 확인 요청 드립니다.

안녕하세요.

KNSDK에서 사용하는 GPS 정보는 KNGPSManger를 통한 정보만을 사용하고 있으며,
KNGPSManager에 별도의 GPS정보를 입력할 수 있는 API는 제공하고 있지 않습니다.

말씀하신 기능처럼
KNSDK의 외부에서 받은 정보를 KNGPSManager를 통하여 전달하는 방법등은 제공되고 있지 않습니다.

감사합니다.

1개의 좋아요

안녕하세요. 친절한 답변 감사드립니다.

상기 문의에서 첨삭된 부분에 대해 좀 설명드리고 문의 드리고자 합니다.

  1. 답변 주신 내용으로 KNSDK에서는 외부에서 받은 정보를 사용할 수 없다는 부분에 대해서는 이해 하였습니다.

  2. 그렇다면 Android OS에서 제공하는 GPS의 수신된 결과를 LocationManager를 통해 OnLocationChanged라는 함수를 호출하는데, OS 단에서 GPS 수신 부분의 LocationManager 커스터마이징하게 되면 KNGPSManager에서도 커스터마이징된 결과를 수신할 수 있는 것인지 문의 드립니다.
    (1) 커스터마이징이란 내용은 실제 Android GPS와 동일하게 동작하지만, GPS에서 수신된 데이터를 Application단이 아닌 OS단에서 정보를 통일시켜 여러 개의 GPS 사용 앱 또는 Activity들이 LocationManager에서 동일한 데이터를 취득할 수 있도록하기 위함입니다.
    (2) 이와 같이 수정하는 경우, KNGPSManager에서도 OS 단의 정보를 사용하기 때문에 영향이 없을 것으로 보이는데 맞는 것인지요? (다른 앱이나 데이터를 KNSDK에 적용하는 것이 아니고 Android OS에서 정보를 수신하게 만드는 방법입니다.)
    (3) 물론, 위와 같이 동작하게 하려면 Android OS를 커스터마이징 해야 가능한 일입니다.

문의 내용이 다소 번잡하지만, 해당 내용이 확인되어야 앞으로의 개발 방향에 영향을 주어 반드시 확인되어야 할 필요가 있어 재차 문의 드립니다. (기존 문의 내용으로는 처리되지 않아 보여 OS에서 수정하는 방향으로 재문의 드립니다.)

감사합니다.

안녕하세요,

KNSDK는 OS에서 제공하는 GPS 정보를 LocationListener.OnLocationChanged를 통해 처리하고 있기 때문에, Android OS 수준에서 GPS 정보를 수정하고 적용하시면 동작이 가능할 것으로 예상됩니다. 하지만, 측위 정보가 정상적이지 않은 경우, 내비게이션 화면에서의 정상적인 동작이 보장되지 않을 수 있습니다.

감사합니다.

1개의 좋아요

안녕하세요. 답변 감사드립니다.
현재 KNSDK로 Map을 그리는 부분과 검색 부분을 개발하고 있어서 GPS 관련 기능에 대해 미리 테스트되지 않은 내용을 질문드리게 되었습니다.
Navi Fragment 내 Child Fragment로 Map Fragment와 Search Fragment를 개발 중 입니다.
질문 드린 부분에 대해서는 추후 개발 예정으로 우선 Android 개발자모드에서 임의의 GPS 정보를 전송하여 테스트를 진행할 예정입니다.
답변 주신 내용으로 이후 GPS 관련 Android OS 수정이 가능하다는 가정하에 개발을 진행하여야 할 것 같습니다.
친절할 답변 감사드리며,
안드로이드 개발에 아직 익숙하지 않아 문의 할 내용이 많이 있을 것으로 예상은 됩니다.
GPS와 관련 기능은 해당 기능 개발 시점에 다른 문의 사항이 발생하게 되면 다시 문의 드리도록 하겠습니다.
다시 한번 매번 친절한 답변 감사드립니다.
감사합니다.

1개의 좋아요