박상권의 삽질블로그

[안드로이드]TedNaverMapClustering -네이버지도용 클러스터링 유틸리티 라이브러리 본문

IT/Android-TIP (한글)

[안드로이드]TedNaverMapClustering -네이버지도용 클러스터링 유틸리티 라이브러리

박상권 2019. 7. 13. 16:49

제가 운영하고 있는 유튜브 채널 '개발자 테드박'에도 많은 관심 부탁드려요.
스타트업/개발자/IT 관련된 여러 영상을 올리고 있습니다.
영상보러가기



블로그를 Medium으로 옮겨서 운영하고 있습니다.
앞으로 새로운 글은 모두 미디엄 블로그를 통해서 올릴 예정입니다.
미디엄에서 다양하고 유익한 포스팅을 살펴보세요
미디엄 블로그 보기


지금까지 우리는 지도관련 서비스를 만들면서 클러스터링을 사용하려면 Google지도를 사용해야 했습니다

(Google지도에서만 Clustering Utility를 통해 클러스터링을 지원했으니까요)

한국에서 앱을 서비스하기에는 네이버지도가 친숙하며 더 많은 정보들이 있지만 네이버지도용 클러스터링은 없었습니다

웹용 클러스터링은 지원하면서도 안드로이드용 클러스터링은 왜 지원하지 않는지 모르겠네요..

 

네이버지도 팀에서 클러스터링기능을 지원해주면 좋겠지만 '나오겠지...나오겠지..' 라는 생각만으로 그렇게 몇년이 지나도 클러스터링 기능은 나오지 않았습니다.

(일해라 네이버 지도팀)

 


그래서 제가 직접 네이버지도용 클러스터링 라이브러리를 만들었습니다

지금 바로 적용해보고 싶으신 분들은 아래 링크로 접속해서 바로 테스트 해보세요

https://github.com/ParkSangGwon/TedNaverMapClustering

 

ParkSangGwon/TedNaverMapClustering

네이버지도용 클러스터 유틸리티 라이브러리. Contribute to ParkSangGwon/TedNaverMapClustering development by creating an account on GitHub.

github.com

클러스터링 알고리즘

TedNaverMapClustering의 클러스터링 알고리즘은 GoogleMap의 클러스터링 알고리즘과 같은 방식으로 클러스터링 됩니다.


자세한 구현방식이 궁금하시다면 Efficient Filtering and Clustering Mechanism for Google Maps을 읽어보시면 도움이 되실겁니다.
본인만의 알고리즘으로 클러스터링을 하길 원하는경우 ScreenBasedAlgorithm를 상속받아 알고리즘을 구현하고 setAlgorithm()로 설정해주면 됩니다.

 

 

여러 지도에 클러스터링 적용

TedNaverMapClustering은 네이버지도 뿐만 아니라 어떤 지도도 클러스터링을 지원할 수 있도록 설계되어 있습니다.
tedclustering 모듈은 특정 지도에 속해있지 않기 때문에 클러스터링이 필요한 어떤 지도든 확장가능합니다.
하지만 현재 Google지도와 Tmap지도는 공식적으로 클러스터링을 지원하고 있기 때문에 추후 클러스터링이 필요한 지도가 있다면 라이브러리형태로 추가되서 지원할 예정입니다.

 

 

네이버지도팀에서 공식적으로 클러스터링을 지원하거나 이 라이브러리를 공식페이지에 소개해서 많은 개발자분들이 네이버 지도를 이용하도록 한다면 네이버에도 많은 도움이 될것이라고 생각합니다

(연락 주세요 네이버 지도팀 관계자 여러분)

 

앞으로도 공식 API에서 지원하지 않는것들이 있다면 직접 해당 기능을 구현하고 많은 개발자들이 사용할 수 있는 라이브러리로 배포하도록 하겠습니다.

 

감사합니다.

Comments