Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- VisualStudio
- 인증문제해결
- flutter
- 안드로이드 스튜디오
- WPF
- EC2
- 리액트 네이티브
- Git
- AWS
- 안드로이드
- 빌드 오류
- 예제
- bitbucket
- git인증
- Android
- sourcetree
- gradle
- react-native
- 안됨
- Kotlin
- 디버깅
- aPK
- 데이터바인딩
- 뒤로가기 안됨
- react
- 개발환경설정
- Invalid credentials
- 리액트
- not working
- 설정
Archives
- Today
- Total
물에 살고싶은 개발자
[NaverMap SDK] 네이버맵 Bearing 관련 문제해결 삽질기록 본문
이 글은 삽질과정 기록을 위한 글이다. 동시에, 같은문제를 겪는 이들을 위한 한줄짜리 심플한 해결책임을 사전에 밝힌다. 많은사람이 읽진 않을거라고 생각하지만..읽은사람들만이라도 나처럼 멍청한 삽질과정을 거치질 않길 바라며 글을 쓴다.
선결론 : 네이버맵 구현 시 이것저것 UI 다 치워놧더니 setLocationTrackingMode()를 face로 했음에도 Bearing 의 상태가 시원찮을 경우엔 locationSource.isCompassEnabled = true 한줄이면 해결된다.
============== 문제발생 ==============
- 문제발생 : 네이버맵sdk에서 face 추적 시 bearing(이하 베어링)이 자연스럽게 돌아가는걸 요청받음
- 상태파악 : 뻑뻑하게 돌아가는데다가 방향도 잘 안맞는걸 확인
- 원인파악 : 베어링 관련해서는 따로 세팅한게 없는걸 알고있었지만 확인차 코드 확인
============== 솔루션 찾기(삽질) ==============
- 일단 네이버지도앱을 켜서 확인해보니 자연스럽게 돌아감. 즉 네이버맵 sdk의 문제는 아닌걸 확인
- 네이버맵 가이드문서를 샅샅이 뒤지다보니 데모앱이 있어 바로 받아서 실행해봄 -> 내가 적용방식이 틀린게 있나 확인하기 위함
- 아무리봐도 특별한 코드는 없는걸 확인 (이 시점에서 위에 언급한 솔루션 발견했으면 얼마나 좋았을까..)
- 이쯤에서 개발중이던 프로젝트는 덩치가 큰 탓에 빌드시간이나 테스트 등 자잘한시간이 오래걸려 새로 프로젝트(이하 연습) 만들어서 네이버맵만 칼같이 테스트 -> 여기서 빌드문제가 생겨서 또 시간낭비..
- 데모랑 연습을 열심히 비교해가면서 액티비티와 프래그먼트의 퍼포먼스차이인가 싶었는데도 아니었고, 네이버 가이드에 안드로이드x 이전버전인 v7서포트를 이용한다기에 설마 그게 원인인가 싶어 다시 연습을 이전버전으로 돌리느라 시행착오 -> 아무리 비교해봐도 서포트버전 외엔 차이가 없었음. 아니 발견을 못했음
- 불행하게도 당연하게도 이전버전으로 돌렸음에도 해결이 안됨
- 너무 맨땅헤딩하는거같아 정보가 없나 검색쪽으로 전략변경
- 일단 네이버 가이드문서와 데모앱 깃헙에서 검색해볼생각이었는데 데모앱 깃헙엔 뭐 없었고, 가이드문서에도 문의만 있을뿐 개발자들을 위한 질문게시판은 없었다. 아니 있었지만 검색결과가 좀처럼 나오지않았음. -> 어리석게도 이쯤부터 계속 안드로이드 네이버맵 “locationTrackingMode” 으로 검색함..(원인의 주체가 트래킹모드에 있을거라고 생각했었기에 해당검색어를 핵심키워드로 잡고 검색. 중간쯤부턴 트래킹모드의 주석이나 설명에 내가 원하는 내용이 있길 바라면서...ㅎ locationSource의 isCompassEnabled 도 존재는 알고있었으나 단순히 지도 ui를 표시하는거라고 생각했음. 이걸 봣을때 왜 locationSource에 있었는지 생각해봤었으면 이렇게 오래끌지 않았을지도..)
- 구글과 네이버,유튜브에서 나오는 거의 모든자료를 다 봐갈때쯤(최소 구글검색결과 3페이지까지 전부 보라색됨..약 2시간동안 검색만..ㅠㅠ) 타겟sdk버전 31부터는 위치데이터를 깐깐하게 준다는 글을 발견
- 일단 연습에서 버전낮추고 실행해봣는데 차이가 없었고, 관련내용을 검색해봐도 명확히 근거삼을만한 자료는 없었음
- 다시 검색하던 중 구글은 얼추 다 본거같아 네이버글들을 뒤적거리다 진짜 마지막글에서 혹시 이건가!? 싶은것을 발견..그것이 위에 스포한 locationSource.isCompassEnabled = true …
- 혹시나 설마 이것만으로 가능한가 하고 반신반의하면서 기도하면서 연습에다 코드추가하고 실행해봤는데 자연스럽게 돌아가는걸 확인!
- 허탈하면서 기쁘면서 꼴받으면서 여러 복합적인 감정이 들었지만, 일단 왜 이런 사소한(?) 설정하나가 이렇게 큰 차이를 보이나 싶어 네이버sdk쪽 코드를 파고들었으나 암호화가 되어있어 알아볼수 없었음..
- 복호화방법이 있긴있었던걸로 알고있었지만 이미 새벽2시반..일단 개발하던 프로젝트에 적용 후 테스트해보니 정상적으로 되는걸 확인해서 설명주석과 함께 코드 푸시 및 결과물 공유하고 종료
- 너무 열받는 경험인데다 누군가에게 도움이 될까 싶어 이것을 글로 공유함.
Comments