2014-12-29 6 views
1

클러스터 마커에 google maps API를 사용하고 있습니다.평균 센터 센터 표시 자

순간적으로 클러스터 센터는 추가 된 첫 번째 마커에 설정됩니다. 모든 위치의 평균에 넣는 방법이 있습니까?

Google지도 API V2를 Android에서 사용하고 있습니다.

덕분에,

편집 :이 웹 사이트에 그들은 http://component.kitchen/components/timeu/google-map-markerclusterer

안드로이드에 대한 동등한이 "averageCenter"로 설정 속성에 대해 말을하는거야?

답변

2

프로젝트에서 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입니다.