[초보자] 안드로이드앱 카카오맵 API

안녕하세요. 리액트 네이티브를 이용한 안드로이드 앱 개발을 공부하고 있는 학생입니다.

필요한 기능은 다음과 같습니다.

  • '관광지, 맛집, 카페 카테고리’에 대한 장소/장소 정보 표시
  • 장소 목적지 설정 → (도보, 대중교통 등) 길찾기
  • 버스노선, 정류장 정보 제공

<장소 카테고리, 장소 정보 표시>

안드로이드 앱에서 카카오맵 API를 사용하기 위해
우선 Android SDK v2를 살펴봤습니다.
해당 자료에는 장소 검색, 장소 정보 표시에 대한 내용이 보이지 않았습니다.

  1. 이러한 정보들은
    안드로이드 SDK 대신, Web API를 통해 정보들을 제공해야 되는 게 맞는지 궁금합니다.

  2. Web API를 안드로이드 앱 안에서 구현한다면,
    지도 제외 모든 UI를 직접 디자인한 것을 사용해도 되나요?

  • ex) 장소 정보창(기존 말풍선 모양의 인포창 대신 스와이프창)

  • ex) 장소 카테고리 버튼 모양/이미지
    image
    —(카테고리는 web api 문서의 ‘이미지 마커와 커스텀 오버레이’ 부분 살펴봤는데 확인차 여쭤봅니다!)


<(도보, 대중교통 등)길찾기>

이건 Web API에서 길찾기 URL을 사용해야 될 것 같은데,

  1. '길찾기 URL’로 이동해서 보이는 화면은 '카카오맵’을 웹으로 여는 거니까 아예 커스텀이 안되는 게 맞나요?

<궁금한 점>
웹뷰 관련 문의들을 찾아봤을 때 아래와 같은 내용이 있었습니다.

밑 이미지와 같은 방식으로 구현하고 싶은데, a 또는 b에 위반되는 사항이 있는지 궁금합니다.
길찾기 url 제외하고는 웹뷰가 아니라 Web API를 사용하여 각 기능을 구현하려고 합니다.
웹뷰가 아니니까 위 내용을 위반하지 않는 게 맞나요?


<버스 노선/정류장>

  • 이 정보들은 앱에서 별도 메뉴로 분리하고, 카카오맵의 서비스를 통해서 웹뷰로 보여주려고 했는데 a에 위반되는 내용인 것 같습니다.
  • 별도 메뉴로 분리하는 대신, 장소 클릭 후 → 길찾기 url(웹뷰)로 이동했을 때 보이는 ‘버스 노선, 정류장’ 기능(아래 이미지)을 자유롭게 보게 하고 싶은데, 이건 가능할까요?
    image

앱 개발을 공부하는 중이라 공식 문서를 살펴보았지만 많이 부족한점 양해부탁드립니다.
답변해주시면 감사하겠습니다.

안녕하세요~
답변드리도록 하겠습니다.

<장소 카테고리, 장소 정보 표시>

  1. WebAPI 즉,
    Kakao 지도 Web API Documentation
    위 사이트에서 제공하는 Service API는, 지도JS API를 이용하는 사용자가, 이용하기 쉽게 랩핑해둔 API일 뿐입니다.
    그래서 실제 API는 REST API이며
    REST API | Kakao Developers 문서
    위 사이트에 명시되어 있습니다.
    그래서 APP에서 사용하시고 Android v2 Native Maps SDK를 사용하신다면 이 REST API를 직접 이용하시는걸 추천드립니다.

  2. 네 가능합니다. 오히려 직접 디자인하고, 별도의 제약조건이 없는 이미지들도 구성해서 만드시는건 당연히 가능합니다. 저희는 샘플을 제공할뿐, 이 샘플이 절대적인 구현방식은 아닙니다. 즉 원하는대로 구현하실 수 있습니다. 다만 지도판의 CI로고의 경우에는 임의로 가릴경우 제약이 발생할 수 있으니 이부분 참고 바랍니다.

<(도보, 대중교통 등)길찾기>

  1. 네 맞습니다. “길찾기 바로가기”(말씀하긴 길찾기 URL)은 저희쪽 페이지가 뜨는거니 커스터마이징이 불가능합니다.

추가로 길찾기 API는 카카오모빌리티에서 제공하고 있습니다.
카카오모빌리티 디벨로퍼스 (kakaomobility.com)
위 사이트의 링크는 developers.kakao.com의 문서 섹션에서도 찾으실 수 있습니다.
한번 이 API를 확인해 보시는게 좋으실 것 같습니다.

말씀하신것처럼, “길찾기 바로가기” 기능을 이용하신다면
Kakao 지도 Web API 가이드

올려주신 스샷처럼 지도 위에서 장소API를 통해 장소정보를 가져오고 특정 UI로 띄우고 하는건 문제가 없고, 길찾기를 수행할때, "길찾기 바로가기"를 통해 저희 길찾기 페이지를 보여주는 것은 상관은 없습니다.
다만 유저사용성은 좀 떨어질 수 있습니다.

<버스 노선/정류장>

  • 버스정류장의 경우엔 현재, 저희가 REST API로 제공하는 API는 없는 것으로 알고 있습니다.
    이땐
    공공데이터포털 (data.go.kr)
    위 공공데이터 포털의 데이터를 이용해 보시는게 어떠실까 합니다.

결론

  • Android Maps SDK를 이용하고,
    데이터의 경우엔 카카오 REST API와, 공공데이터포털을 이용하여 데이터를 수급하고,
    길찾기는 Kakao모빌리티에서 제공하는 SDK를 한번 이용해 보시거나, 다른 방법을 찾아보시는게 좋을 것 같습니다.
    보통 길찾기는 구현자체가 그렇게 쉽진 않아서, 직접 구현을 많이 하시는 편은 아닙니다.

참고해 주세요.

이해가 됐습니다. 상세하게 설명해주셔서 정말 감사합니다!

카카오 rest api에서는 장소 대표이미지를 제공하지 않아서,
지도 및 장소 검색은 구글api, 장소를 목적지로 설정했을 시 → 길찾기는 카카오 url로 연결하고 싶은데
이것도 서비스 이용 관련해서 위배되는 사항이 있는지 궁금합니다.

카카오맵 + 카카오 url로 하지 않아도 되나요?

그건 상관없을 것 같습니다.
각종 API를 무단 도용 또는 약관위배를 해서 사용하는게 아닌 정상적인 접근인이상;

해당 API들을 조합해서 사용하는건 개발자의 재량입니다.

현재 웹뷰에서 카카오지도 서비스를 임베딩해서 사용하는게 문제가 되는 것은, 자신이 만든 서비스가 아닌데 자신의 서비스인냥 사용을 하는 것이라 문제가 되는 것이라 보시면 됩니다.
제가 설명한 kakao CI 관련해서도, 자신 또는 소속된조직이 소유권이 있는 데이터가 아닌데, 자신의 데이터마냥 가리고 사용하는게 문제가 되는 것이기 때문입니다.

즉, 정확히 명시를 하고, 누가봐도 합리적인 사용방식은 아무런 문제가 되지 않습니다.

여러 데이터제공업체(구글,네이버,카카오,공공 등)의 데이터들을 비교해서 개발자가 제일 괜찮은것을 선택하여 이용하는건 문제가 없고(각각 데이터 제공업체의 약관을 살펴보시면 됩니다)

길찾기 하는 방식을 카카오의 "길찾기 바로가기"를 이용하는 것도, 위에 답변드린 내용처럼 이용하시면 문제는 없다 보입니다.
다만 "길찾기 바로가기"에서 link/to/장소ID의 경우엔 구글과 kakao의 아이디 값이 다르기 때문에 이걸 이용하시긴 어려우실 수 있습니다.

답변 감사합니다:slightly_smiling_face: