Package com.naver.maps.map.clustering
Class Clusterer<T extends ClusteringKey>
java.lang.Object
com.naver.maps.map.clustering.Clusterer<T>
- Type Parameters:
T- 키의 타입.
겹치는 여러 마커를 클러스터링해서 하나의 마커로 보여주는 기능을 제공하는 클래스. 이 클래스의 인스턴스는 직접 생성할
수 없고
Clusterer.Builder 또는 Clusterer.ComplexBuilder 빌더 클래스를 이용해 생성해야 합니다. 여러 마커가 시각적으로
겹치는 상황을 방지하는 기본적인 기능만 필요하다면 Clusterer.Builder를, 복잡한 전략과 기능이 필요하다면
Clusterer.ComplexBuilder를 사용하는 것을 권장합니다.
Clusterer를 사용하려면 먼저 데이터의 키를 의미하는 ClusteringKey 인터페이스를 구현한 클래스를
정의해야 합니다. 이 클래스를 타입 파라메터로 지정해 Clusterer 인스턴스를 만들고,
add(ClusteringKey, Object) 또는 addAll(Map)을 호출해 데이터를 추가한 후 setMap(NaverMap)을
호출해 지도 객체를 지정하면 지정한 데이터가 클러스터링되어 나타납니다.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classClusterer.Builder<T extends ClusteringKey>Clusterer를 생성하는 빌더 클래스.static classClusterer.ComplexBuilder<T extends ClusteringKey>Clusterer를 생성하는 빌더 클래스. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int클러스터가 펼쳐지는/합쳐지는 애니메이션의 기본 지속 시간.static final double두 마커가 인접했을 때 클러스터링될 기본 화면상 거리. -
Method Summary
Modifier and TypeMethodDescriptionvoid데이터를 추가합니다.voidadd(T key, Object tag, OnClustererUpdateCallback callback) 데이터를 추가합니다.void여러 데이터를 한 번에 추가합니다.voidaddAll(Map<T, ?> keyTagMap, OnClustererUpdateCallback callback) 여러 데이터를 한 번에 추가합니다.voidclear()모든 데이터를 제거합니다.voidclear(OnClustererUpdateCallback callback) 모든 데이터를 제거합니다.boolean데이터에key가 포함되어있는지 여부를 반환합니다.getMap()클러스터러가 추가된 지도 객체를 반환합니다.booleanisEmpty()데이터가 비어있는지 여부를 반환합니다.void데이터를 제거합니다.voidremove(T key, OnClustererUpdateCallback callback) 데이터를 제거합니다.voidremoveAll(Collection<T> keys) 여러 데이터를 한 번에 제거합니다.voidremoveAll(Collection<T> keys, OnClustererUpdateCallback callback) 여러 데이터를 한 번에 제거합니다.void클러스터러를map에 추가합니다.
-
Field Details
-
DEFAULT_SCREEN_DISTANCE
@Dimension(unit=0) public static final double DEFAULT_SCREEN_DISTANCE두 마커가 인접했을 때 클러스터링될 기본 화면상 거리. DP 단위.- See Also:
-
DEFAULT_ANIMATION_DURATION_MILLIS
public static final int DEFAULT_ANIMATION_DURATION_MILLIS클러스터가 펼쳐지는/합쳐지는 애니메이션의 기본 지속 시간. 밀리초 단위.- See Also:
-
-
Method Details
-
getMap
클러스터러가 추가된 지도 객체를 반환합니다.- Returns:
- 클러스터러가 추가된 지도 객체. 지도에 추가된 상태가 아닐 경우
null.
-
isEmpty
public boolean isEmpty()데이터가 비어있는지 여부를 반환합니다.- Returns:
- 비어있을 경우
true, 그렇지 않을 경우false.
-
contains
데이터에key가 포함되어있는지 여부를 반환합니다.- Parameters:
key- 포함 여부를 확인할 키.- Returns:
- 포함되어있을 경우
true, 그렇지 않을 경우false.
-
clear
public void clear()모든 데이터를 제거합니다. -
add
데이터를 추가합니다. 이 메서드를 여러 번 호출하면 지도에도 호출한 횟수만큼 나누어 반영됩니다. 따라서 여러 데이터를 한 번에 추가하고자 할 경우addAll(Map)을 사용하면 성능이 향상됩니다.- Parameters:
key- 데이터의 키.tag- 데이터의 태그.
-
addAll
여러 데이터를 한 번에 추가합니다. 데이터를 한 번에 추가할 경우 지도에도 한 번에 반영됩니다.- Parameters:
keyTagMap- 키가 데이터의 키, 값이 데이터의 태그인Map.
-
remove
데이터를 제거합니다. 이 메서드를 여러 번 호출하면 지도에도 호출한 횟수만큼 나누어 반영됩니다. 따라서 여러 데이터를 한 번에 제거하고자 할 경우removeAll(Collection)을 사용하면 성능이 향상됩니다.- Parameters:
key- 데이터의 키.
-
removeAll
여러 데이터를 한 번에 제거합니다. 데이터를 한 번에 제거할 경우 지도에도 한 번에 반영됩니다.- Parameters:
keys- 제거할 키의 목록.
-