이 DefaultClasterRenderer#onBeforeClusterRendered()
에 지정된 기본 동작입니다 : 마커에 대한 텍스트가 bucket
보다는 정확한 수에 따라 선택
/**
* Called before the marker for a Cluster is added to the map.
* The default implementation draws a circle with a rough count of the number of items.
*/
protected void onBeforeClusterRendered(Cluster<T> cluster, MarkerOptions markerOptions) {
int bucket = getBucket(cluster);
BitmapDescriptor descriptor = mIcons.get(bucket);
if (descriptor == null) {
mColoredCircleBackground.getPaint().setColor(getColor(bucket));
descriptor = BitmapDescriptorFactory.fromBitmap(mIconGenerator.makeIcon(getClusterText(bucket)));
mIcons.put(bucket, descriptor);
}
// TODO: consider adding anchor(.5, .5) (Individual markers will overlap more often)
markerOptions.icon(descriptor);
}
주 cluster
항목의 대한 빠른 수정으로 설명 생성을 수정하는 것입니다 뭔가 같은 :
descriptor = BitmapDescriptorFactory.fromBitmap(mIconGenerator.
makeIcon(cluster.getSize());
물론 ClasterRenderer
사용자 정의를 구현하고 ClusterManager
에 제공 할 수 있습니다. 이런 식으로 당신은 당신의 마커의 렌더링을 담당 할 것입니다,하지만 당신은 단지 "20+"
"21"
에을 변경하려면 - 내가 먼저 접근 방식으로 갈 것
편집 :
이 질문에 의견 요청 된 주소 : 그룹화 항목의 거리 임계 값을 늘리거나 줄이려면 default algorithm을 클러스터링에 사용하도록 수정할 수 있습니다.
public static final int MAX_DISTANCE_AT_ZOOM = 100; // essentially 100 dp.
을하지만 올바른 수정 계정 마커 비트 맵의 크기가 아니라 상수 값을 고려하는 것입니다 : 그냥 (귀하의 경우 작아야한다)이 일정하게 재생합니다. 나는 Mr. Broadfood 매니아에 숙제 :
private Bounds createBoundsFromSpan(Point p, double span) {
// TODO: Use a span that takes into account the visual size of the marker, not just its
// LatLng.
double halfSpan = span/2;
return new Bounds(
p.x - halfSpan, p.x + halfSpan,
p.y - halfSpan, p.y + halfSpan);
}
빠른 파문 질문이 유틸리티를 사용 해보신 경험이있는 분. 나는 현재 줌 레벨에서 서로 꼭대기에 있지 않은 그룹화 마커를 발견했다. 이 유틸리티에 대한 문서는 거의없는 것 같습니다. 그룹/클러스터 전에 얼마나 가까운 마커의 범위를 설정할 수 있습니다 – erik
내 대답이 업데이트 –
다시 감사드립니다. 파벨, Cluster/ClusterItem (s) 선택 상태 생성 및 처리 경험이 있습니까? 렌더는 보이는 아이콘을 생성하고, 주어진 항목이나 클러스터가 선택 될 때 뷰를 변경하고 다이나믹 이미지를 해당 뷰로 전달할 수 있고 모든 선택되지 않은 항목을 선택 취소/원래 상태로 되돌릴 수 있기를 원합니다. .. 나는 도서관을 들여다 보았고 선택/비 선택 상태가 어디인지를 알 수없는 것 같습니다. – erik