2020.01.28 개발일지 #2
1. 목표
AR Navi # Test ver
- AR기술을 활용한 네비게이션 만들기
- 중점 지형지물(건물 단위)에 AR info 등록하기
- 기본적인 2D Navigation의 구현
2. 진행상황
- SDK 최신화
지난 개발에서 고민했던 부분들(언어 현지화, 네비게이션 방식, 지리명 표시 등)을 개선하고자 했다. 튜토리얼에서 사용했던 6.0.1버전의 Mapbox SDK는 최신버전인 8.5.1과 호환되지 않거나 삭제된 기능들이 많아서, 새로운 기능들을 적용하기 위해서, 전체적으로 코드를 새로 수정했다.
- 레이아웃 디자인 수정
테마색상은 기존의 녹색에서, 청록색 계열의 색상으로 수정했다. 청록색과 남색 계열의 색상은 네비게이션이 주는 신뢰감과 안정감, 그리고 내가 AR기술에 대해 느끼는 테마색상인 만큼, AR Navigation에 잘 어울릴 것 같다는 인상을 들었기 때문이다.
네비게이션의 Toolbar도 살짝 수정했다. 네비게이션의 모드들이 기능별로 추가되면서, 현재 네비게이션의 모드를 알아보기 쉽도록 개선할 필요가 있었다. 기존의 Action Bar 삭제하고, 각각의 모드의 상태를 알려주는 레이아웃을 추가해주었다. 상단 이미지에서 Toolbar의 모드는 각각 현재 지도의 테마(Map), 언어(Kor), 길안내(Walk) 임을 알려주고 있다.
- #1 고민 1 . 도보 네비게이션
Navigation의 길안내 기준을 기존의 Driving에서 Walking으로 수정하는 옵션기능을 만들었다. 기본값은 도보로 설정을 해두었는데, 추후 AR을 이용한 도보 Navigation의 기능이 원활히 구현된다면, 운전상황에서의 AR Navigation도 확장할 수 있도록 기본적인 기능만을 구현해두었다.
- #1 고민 3 . GeoCoding
기존에서는 출발점과 도착점을 설정하였을 때, 지리적 위치가 아니라 좌표로만 뜨는 문제가 있었다. 이를 해결하기 위해서 Mapbox의 지도 좌표와 데이터를 활용하기 위해 GeoCoding을 활용했다. Location의 위도와 좌표를 query를 이용해서 서버로 보내주면, 서버에서는 해당 좌표의 address와 건물이름을 결과값으로 응답해주는 방식을 활용했다. 다만, 한국지역의 지리정보가 충분하지 않아서인지 한국 지도에서는 응답이 오기는 하지만, 해당 지점의 주소와 건물정보등을 넘겨주지는 않는다. 미국 등의 해외 지역의 좌표에 대한 주소정보는 정확히 넘어오는 걸로 봐서, 국내에서 정확한 지역정보를 얻기 위해서는 Naver등의 지도정보 서비스와 응답하는 방법을 고민해봐야겠다.
- #1 고민 4 . 언어 현지화
지도의 언어 문제는 Mapbox Map의 설정 언어를 수정하는걸로 간단히 해결하였다. 2020년 현재 Mapbox는 9개의 언어를 지원하고 있는데, 다행히 한국어가 지원언어에 포함되어있었다. 네비게이션의 길안내 음성 서비스도 한국어로 수정되었다.
3. 개발 일지
Mapbox SDK 6.0.1 -> 8.5.1
- Mapbox Func 대부분 수정
Layout 수정
- Theme Color 수정
- ActionBar -> NoActionBar
- MainActivity Layout 수정
- ModeActivity Layout 수정
- MapActivity Layout 수정
- App Round Icon 수정
- Toolbar Mode Layout 추가
Default Mode 수정
- Map default Language en->ko
- Map default DirectionCriteria driving -> walking
GeoLocation class 추가
RenderMode Normal -> Compass
3. 다음 개발 목표
- AR Mode
2D네비게이션의 기능은 간단히 이정도만 구현하는 것으로 하고, 다음 개발일지 부터는 구글이 제공해주는 ARCore를 이용해서, AR 오브젝트들을 구현해보고자 한다. AR Navigation의 경로안내 방식은 네비게이션의 경로를 현실뷰에 그대로 옮겨서 길을 안내해주는 방법과, 구글 AR Navigation과 같은 갈림길 단위로 안내표지를 이용하는 길안내 방법 중에 어떤 방법을 선택할 지 고민하고 있다. 실제로 개발해보면서 정하고자 한다.
- 고민 1. 한국지역 좌표 < - > 지명 ( Naver 등의 국내 지도정보 서비스 API )
- 고민 2. 각종 기능들을 수정 할 수 있는 설정 패널
- 고민 3. 2D 지도 자체의 다양한 모드 변환
- 고민 4. Zoom In/out 등의 기능 구현
- 고민 5. 경로탐색동안의 Loading Image
4. 참고할 만한 내용
'프로젝트 > Navigation' 카테고리의 다른 글
[ 개발일지 ] AR Navigation #1 2D-Navigation (0) | 2020.01.26 |
---|