프로젝트에서 Google Maps Android API utility library을 사용하는 경우 클러스터링에 사용되는 알고리즘을 변경할 수 있습니다.
사용되는 기본 알고리즘은 NonHierarchicalDistanceBasedAlgorithm
입니다 (클래스 파일은 library/src/com/google/maps/android/clustering/algo/
입니다).
지금 당신은 할 수 있습니다
- 중 하나는 클래스의 소스 코드,
- 을 편집하거나 새 클래스
NonHierarchicalDistanceBasedAlgorithm
을 확장하고 getClusters(double)
메서드를 재정의를 만듭니다. 그런 다음 을 사용하여 ClusterManager
과 함께이 클래스의 인스턴스를 사용합니다.
클러스터의 중심 위치를 계산하기 위해 변경해야 할 사항은 this commit입니다 (클래스를 직접 편집하기로 선택 함). 이러한 변화가 클러스터링 계산 속도에 미치는 영향을 측정하지는 못했습니다.
편집 : 현재, a simple average is used 위도/경도 좌표에 대한 잘못된하지만 조금 빠른 클러스터의 위치를 계산합니다.
더 나은 센터 계산 알고리즘은 https://stackoverflow.com/a/14231286입니다.