지도/로컬 API에 대한 문의게시판입니다.
현재 서비스중인 앱에 지도에 마커가 표시가 5000개가 있어서
저사양 폰에서는 구동시 불러오는 과정에서 멈추는 현상이 발생합니다.
웹에서는 클러스터 기능이 있지만 안드로이드에서는 클러스터 기능이 없어서 어떻게 해야할지 조언을 부탁드리겠습니다
지도/로컬 API에 대한 문의게시판입니다.
현재 서비스중인 앱에 지도에 마커가 표시가 5000개가 있어서
저사양 폰에서는 구동시 불러오는 과정에서 멈추는 현상이 발생합니다.
웹에서는 클러스터 기능이 있지만 안드로이드에서는 클러스터 기능이 없어서 어떻게 해야할지 조언을 부탁드리겠습니다
클러스터링은 직접 구현하시기를 추천드리는 바입니다.
특히나 back단에서 미리 클러스터링 된 데이터를 내려주는게 베스트고요.
일반적으로
축소된 지도에서는
마커가 화면에 많이 보이기 때문에
(서버에서 계산하든, 클라이언트에서 계산하든)그룹핑 알고리즘을 사용하여 대표마커를 찍어서 표현하는게 좋습니다.
확대된 지도에서는
마커가 일부만 보이기 때문에
현재 보이는 지도 영역을 서버로 전달하여
그 영역에 보이는 마커들만 받아서 뿌리는 방식도 클라이언트의 부하를 줄이는데 도움이 될 수 있습니다.
1번을 2번과 섞어서 사용하거나
2번만 사용하되 축소레벨을 제한하는 방식이 주로 사용됩니다.
마커를 500개나 찍는것은,
어쨌든 좁은 화면에 렌더링해야 할 컴포넌트를 500 * N개를 찍는다는 의미이므로
리스소가 제한되어 있는 컴퓨팅 환경상 느려질 수 밖에 없습니다.
모바일을 더 제약이 심할거고요.
사용자 입장에서 생각해 봐도
디바이스 스크린 사이즈가 작은 모바일에 조밀한 마커들을 한 화면에 보여준다는 것은
그저 데이타가 많다는 것 이상의 정보를 전달하기 힘들며
여러 의미로 사용자 경험을 해치는 일일 수 있습니다.
답변감사드립니다. 클러스터링 구현보다는 현재 보이는 영역만 마크로 하는 방식을 찾아봐야할거같네요 조언 감사드립니다