[Android][Kotlin][길찾기 기능 구현하기] Part1. 기능 구상

기능 요약

사용자가 출발지와 도착지를 설정하여, 출발지 - 도착지 사이에 대중교통을 이용하여 갈 수 있는 경로를 출력한다.

 

참고 레퍼런스 

네이버 길찾기, 카카오 길찾기를 참고하여 만들었다.

좌측 : 네이버 길찾기 / 우측 : 카카오 길찾기

두 어플리케이션 모두 다음과 같은 과정으로 실행이 된다.

  1. 출발지와 도착지를 입력한다
    1. 이 때, 키워드를 검색시 키워드 관련 장소로 자동완성 기능을 제공한다.
  2. 출발지와 도착지가 입력이 완료되면 최적의 경로가 제공이 된다.

구현할 기능

참고한 레퍼런스를 바탕으로 구현할 기능은 다음과 같다.

  1. 사용자가 출발지와 도착지를 검색할 수 있다. 사용자가 입력한 키워드를 바탕으로 관련 장소를 리스트로 추천을 해준다.
  2. 출발지와 도착지 키워드 입력이 완료되면, 두 장소를 기준으로 최적의 경로를 제공한다.

구현 방법

구현 방법은 다음과 같다.

장소를 입력할 때, 키워드를 사용자에게 제공을 해주어야 한다. 이를 위해 Kakao Open API 중 장소 키워드 검색 기능을 사용했다.

https://developers.kakao.com/docs/latest/ko/local/dev-guide#search-by-keyword

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

장소 검색 API의 통신의 결과로 해당 장소의 WGS84  좌표를 얻을 수 있다.

 

다음은 최적의 경로를 찾는 길찾기 기능이다.

길찾기 기능은, SK Open API를 사용하였다.

https://openapi.sk.com/products/detail?svcSeq=59&menuSeq=394 

 

SK open API

상품 사용 문의 상품 기능, 기술 지원 등 상품 사용에 관련된 문의사항을 남겨주세요. 등록하기 >

openapi.sk.com

SK 대중교통 API의 경우에는, 입력 파라미터로 출발지와 도착지의 WGS84를 필요로 한다. 이는 이전의 Kakao 장소 API를 통해 얻어올 수 있다. SK 대중교통 API를 바탕으로 사용자에게 결과를 제공한다.

 

API 통신을 위해 Retrofit2 라이브러리를 사용했다.

 

각 통신의 결과로

키워드 추천은 SearchView + ListView의 조합을 이용하여 구현하였으며

길찾기는 RecyclerView를 이용하여 구현하였다.

 

구현 결과