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
Modifier and TypeClassDescriptionstatic class
Clusterer.Builder<T extends ClusteringKey>
Clusterer
를 생성하는 빌더 클래스.static class
Clusterer.ComplexBuilder<T extends ClusteringKey>
Clusterer
를 생성하는 빌더 클래스. -
Field Summary
Modifier and TypeFieldDescriptionstatic final int
클러스터가 펼쳐지는/합쳐지는 애니메이션의 기본 지속 시간.static final double
두 마커가 인접했을 때 클러스터링될 기본 화면상 거리. -
Method Summary
Modifier and TypeMethodDescriptionvoid
데이터를 추가합니다.void
add
(T key, Object tag, OnClustererUpdateCallback callback) 데이터를 추가합니다.void
여러 데이터를 한 번에 추가합니다.void
addAll
(Map<T, ?> keyTagMap, OnClustererUpdateCallback callback) 여러 데이터를 한 번에 추가합니다.void
clear()
모든 데이터를 제거합니다.void
clear
(OnClustererUpdateCallback callback) 모든 데이터를 제거합니다.boolean
데이터에key
가 포함되어있는지 여부를 반환합니다.getMap()
클러스터러가 추가된 지도 객체를 반환합니다.boolean
isEmpty()
데이터가 비어있는지 여부를 반환합니다.void
데이터를 제거합니다.void
remove
(T key, OnClustererUpdateCallback callback) 데이터를 제거합니다.void
removeAll
(Collection<T> keys) 여러 데이터를 한 번에 제거합니다.void
removeAll
(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
- 제거할 키의 목록.
-