2

가까운 관심 지점을 표시하기 위해지도에 마커 세트를 표시해야합니다. 이 마커는 클릭에 의한 공개 채팅방을 열 것이므로 사용자는 마커를 클릭 할 필요없이 해당 마커에 대한 짧은 주소 정보를보아야합니다. 나는 충돌없이 가능한 마커 많은을 보여주는 수행 할 작업을Google지도에서 충돌하는 마커를 제거하는 방법

enter image description here

및 아이콘을 대체 : 나는 그런 의미에서 마커 아이콘을 변경하면 아래 볼 수 있습니다 그러나, 마커 중 일부는 충돌 할 수있다 점과 같은 매우 작은 마커 않음 (어드레스 정보)와 이러한 충돌들 중 :

enter image description here

난 충돌을 검출하는 X 축 스위프 알고리즘을 수행하여 이러한 결과를 얻기 위해 달성하지만, 불행하게도, 마커 만약 사용자가지도를 스크롤 한 후 충돌을 멈 춥니 다. 화면에서 존재하거나 다른 마커가 화면에 들어가 다른 마커와 충돌하기 시작하거나 사용자가 완전히 새로운 영역으로 스크롤하는 경우이 알고리즘은 매 회전마다 반복해서 수행되어야합니다. 충돌 마커의 대부분을 제거하기 위해 maps-utils 마커 클러스터링을 사용합니다. 그러나이 문제를 극복하기 위해 더 힘들어하는 방법론이 필요합니다. 내가 quadtree를 구현하는 것을 고려하지만 그것이 최선의 방법인지 아닌지 확신 할 수 없다. 어떤 충고?

예 :

enter image description here

답변

0

Google지도 안드로이드 마커 클러스터링 유틸리티 https://developers.google.com/maps/documentation/android-api/utility/marker-clustering에서이 작업을 수행합니다.

+0

질문에서 언급했습니다. 마커가 겹치는 것을보고 싶지는 않습니다. https://tctechcrunch2011.files.wordpress.com/2015/02/citymaps.jpg?w=687 마커 클러스터링은 똑같은 일을 할 수 없습니다. 보내신 링크의 첫 번째 이미지를 확인하십시오. 좋은 클러스터가 있지만 중복 된 마커도 있습니다. –

+0

미안하지만, 나는 조금 빨리 훑어 보았다. 그래도 클러스터링 코드를 수정할 수 있다고 생각했을까요? (github의 오픈 소스입니다.) ... – SteelBytes

+0

실제로 가장 좋은 방법은 최소 클러스터 크기를 1로 설정 한 다음 다중 요소 클러스터를 점으로 지정하는 것입니다. –

1

IMHO, 가장 좋은 방법은 줌 레벨, 쿼드 트리 및 충돌 감지를 결합 할 수 있습니다. 따라서,이 시나리오에서

여기서 쿼드 트리는 충돌 감지 알고리즘을 수행 할 항목 (마커)의 크기를 줄이는 데 사용됩니다. 전체 마커가 아닌 개별 마커에만 관심을 가져야하기 때문입니다. 당신이 (경계 당신이 그랬던 것처럼 /뿐만 아니라 가시 광선 영역의 경우) 줌 레벨에 따라 항목을 충돌 감지하면 마커가 사용자가 스크롤지도 이후 충돌을 중지하는 경우

, 당신은

아래에 관련된 문제에 직면하지 않을 것이다 그것은 화면에서 존재하거나 다른 마커가 화면에 들어가서 다른 마커와 충돌하기 시작하거나 사용자가 완전히 새로운 영역으로 스크롤합니다.

관련 문제