2014-04-15 4 views
1

때때로 마커가 서로 매우 가까울 때 클러스터가 전개되어 모든 마커를 개별적으로 표시 할 수 있도록 많은 마커가 필요합니다.Android Maps Extensions를 사용하여 클러스터를 펼칠 수있을만큼 확대/축소하는 방법은 무엇인가요?

클러스터의 한 번의 클릭으로 항상 확대하고 올바르게 펼칠 수 있도록 만들 수 있습니까?

+0

해결책은 다음과 같습니다. http://stackoverflow.com/a/25400956/3185707 – dzikovskyy

답변

1

단일 클러스터의 모든 마커를 확대하여 표시하려면 일부만 표시되도록하십시오. 즉 당신과 함께 괜찮아, 여기 (예 onMarkerClick에) 단계는 다음과 같습니다

  • 체크 Marker.isCluster
  • 루프 모든 마커 전화 GoogleMap.getMinZoomLevelNotClustered에 대한
  • Marker.getMarkers 이상의 경우하는 루프에서 가장 큰 값을 기억
  • 루프 호출 후 GoogleMap.animateCamera 일부 LatLng 및 최대 줌 값

여기에서 문제가 발생합니다. 무슨 LatLng 선택할 것인지 결정하는 것입니다. 클러스터 마커에서 하나를 선택하면 줌 후에 마커가 보이지 않게됩니다.

또는 클러스터의 모든 마커에서 만들어진 LatLngBounds으로 확대 할 수 있습니다. 이렇게하면 모든 마커가 표시되지는 않지만 화면의 어딘가에 여전히 숨겨진 모든 마커로 끝납니다.

+0

'getMinZoomLevelNotClustered'가'Float.POSITIVE_INFINITY'을 반환했는지 확인하기 위해 테스트를 추가해야합니다. – Gerstmann