일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 커스텀뷰
- VMware
- 안드로이드 스튜디오
- 아마존웹서비스
- Logcat
- AWS
- 라이브러리
- 이미지로딩 라이브러리
- Picasso
- 안드로이드
- ButterKnife
- OTTO
- Glide
- 안드로이드 라이브러리
- Mac
- Today
- Total
박상권의 삽질블로그
[안드로이드]TedNaverMapClustering -네이버지도용 클러스터링 유틸리티 라이브러리 본문
안드로이드 개발자들이 모여있는 오픈채팅방에 참여해보세요 .
Q&A 및 팁을 공유하는 방입니다..
오픈채팅방 참여
블로그를 Medium으로 옮겨서 운영하고 있습니다.
앞으로 새로운 글은 모두 미디엄 블로그를 통해서 올릴 예정입니다.
미디엄에서 다양하고 유익한 포스팅을 살펴보세요
미디엄 블로그 보기
이번에 '클린 아키텍처'를 주제로 온라인 강의를 개설하게 되었습니다 🎉
평소 오픈채팅방이나 여러 커뮤니티에서 '클린 아키텍처'와 관련된 질문들이 많았는데요. 이를 해결해줄 수 있는 마땅한 강의가 없었던것 같습니다.
평소 '클린 아키텍처' 에 대한 궁금증이나 관심이 있으셨던 분들이 수강해보시면 도움이 될것 같아요
강의 살펴보기
지금까지 우리는 지도관련 서비스를 만들면서 클러스터링을 사용하려면 Google지도를 사용해야 했습니다
(Google지도에서만 Clustering Utility를 통해 클러스터링을 지원했으니까요)
한국에서 앱을 서비스하기에는 네이버지도가 친숙하며 더 많은 정보들이 있지만 네이버지도용 클러스터링은 없었습니다
웹용 클러스터링은 지원하면서도 안드로이드용 클러스터링은 왜 지원하지 않는지 모르겠네요..
네이버지도 팀에서 클러스터링기능을 지원해주면 좋겠지만 '나오겠지...나오겠지..' 라는 생각만으로 그렇게 몇년이 지나도 클러스터링 기능은 나오지 않았습니다.
(일해라 네이버 지도팀)
그래서 제가 직접 네이버지도용 클러스터링 라이브러리를 만들었습니다
지금 바로 적용해보고 싶으신 분들은 아래 링크로 접속해서 바로 테스트 해보세요
https://github.com/ParkSangGwon/TedNaverMapClustering
클러스터링 알고리즘
TedNaverMapClustering의 클러스터링 알고리즘은 GoogleMap의 클러스터링 알고리즘과 같은 방식으로 클러스터링 됩니다.
자세한 구현방식이 궁금하시다면 Efficient Filtering and Clustering Mechanism for Google Maps을 읽어보시면 도움이 되실겁니다.
본인만의 알고리즘으로 클러스터링을 하길 원하는경우 ScreenBasedAlgorithm를 상속받아 알고리즘을 구현하고 setAlgorithm()로 설정해주면 됩니다.
여러 지도에 클러스터링 적용
TedNaverMapClustering은 네이버지도 뿐만 아니라 어떤 지도도 클러스터링을 지원할 수 있도록 설계되어 있습니다.
tedclustering 모듈은 특정 지도에 속해있지 않기 때문에 클러스터링이 필요한 어떤 지도든 확장가능합니다.
하지만 현재 Google지도와 Tmap지도는 공식적으로 클러스터링을 지원하고 있기 때문에 추후 클러스터링이 필요한 지도가 있다면 라이브러리형태로 추가되서 지원할 예정입니다.
네이버지도팀에서 공식적으로 클러스터링을 지원하거나 이 라이브러리를 공식페이지에 소개해서 많은 개발자분들이 네이버 지도를 이용하도록 한다면 네이버에도 많은 도움이 될것이라고 생각합니다
(연락 주세요 네이버 지도팀 관계자 여러분)
앞으로도 공식 API에서 지원하지 않는것들이 있다면 직접 해당 기능을 구현하고 많은 개발자들이 사용할 수 있는 라이브러리로 배포하도록 하겠습니다.
감사합니다.
'IT > Android-TIP (한글)' 카테고리의 다른 글
[안드로이드/Android]TedKeyboardObserver (키보드 show/hide 감지) (2) | 2019.06.20 |
---|---|
코틀린(Kotlin), 꼭 해야하나요? (4) | 2019.05.15 |
[안드로이드]CLEARTEXT communication to XXXX not permitted by network security policy (6) | 2018.12.09 |
[안드로이드]Only fullscreen opaque activities can request orientation (5) | 2018.07.18 |
[안드로이드]Firebase Dynamic Link로 사용자 유입시키기 (2) | 2018.05.29 |