Class Clusterer.Builder<T extends ClusteringKey>

java.lang.Object
com.naver.maps.map.clustering.Clusterer.Builder<T>
Type Parameters:
T - 키의 타입.
Enclosing class:
Clusterer<T extends ClusteringKey>

public static class Clusterer.Builder<T extends ClusteringKey> extends Object
Clusterer를 생성하는 빌더 클래스. 클러스터링할 거리, 최소/최대 줌 레벨, 애니메이션 여부, 클러스터/단말 클러스터/단말 마커 커스터마이징 등 기본적인 기능을 제공합니다. 복잡한 전략과 기능이 필요하다면 Clusterer.ComplexBuilder를 사용해야 합니다.
  • Constructor Details

    • Builder

      public Builder()
      생성자.
  • Method Details

    • getScreenDistance

      @Dimension(unit=0) public double getScreenDistance()
      클러스터링할 기준 거리를 반환합니다. 클러스터에 추가된 두 데이터의 화면상 거리가 기준 거리보다 가깝다면 클러스터링되어 하나의 마커로 나타납니다.

      기본값은 Clusterer.DEFAULT_SCREEN_DISTANCE입니다.
      Returns:
      화면상 기준 거리. DP 단위.
    • screenDistance

      @NonNull public Clusterer.Builder<T> screenDistance(@Dimension(unit=0) double screenDistance)
      클러스터링할 기준 거리를 지정합니다. 클러스터에 추가된 두 데이터의 화면상 거리가 기준 거리보다 가깝다면 클러스터링되어 하나의 마커로 나타납니다.

      기본값은 Clusterer.DEFAULT_SCREEN_DISTANCE입니다.
      Parameters:
      screenDistance - 화면상 기준 거리. DP 단위.
      Returns:
      객체 자신.
    • getMinZoom

      @IntRange(from=0L, to=21L) public int getMinZoom()
      클러스터링할 최소 줌 레벨을 반환합니다. 카메라의 줌 레벨이 최소 줌 레벨보다 낮다면 두 데이터가 화면상 기준 거리보다 가깝더라도 더 이상 클러스터링되지 않습니다. 예를 들어, 클러스터링할 최소 줌 레벨이 4라면, 카메라의 줌 레벨을 3레벨 이하로 축소하더라도 4레벨의 클러스터가 더 이상 클러스터링되지 않고 그대로 유지됩니다.

      기본값은 NaverMap.MINIMUM_ZOOM입니다.
      Returns:
      클러스터링할 최소 줌 레벨.
    • minZoom

      @NonNull public Clusterer.Builder<T> minZoom(@IntRange(from=0L,to=21L) int minZoom)
      클러스터링할 최소 줌 레벨을 지정합니다. 카메라의 줌 레벨이 최소 줌 레벨보다 낮다면 두 데이터가 화면상 기준 거리보다 가깝더라도 더 이상 클러스터링되지 않습니다. 예를 들어, 클러스터링할 최소 줌 레벨이 4라면, 카메라의 줌 레벨을 3레벨 이하로 축소하더라도 4레벨의 클러스터가 더 이상 클러스터링되지 않고 그대로 유지됩니다.

      기본값은 NaverMap.MINIMUM_ZOOM입니다.
      Parameters:
      minZoom - 클러스터링할 최소 줌 레벨.
      Returns:
      객체 자신.
    • getMaxZoom

      @IntRange(from=0L, to=21L) public int getMaxZoom()
      클러스터링할 최대 줌 레벨을 반환합니다. 카메라의 줌 레벨이 최대 줌 레벨보다 높다면 두 데이터가 화면상 기준 거리보다 가깝더라도 더 이상 클러스터링되지 않습니다. 예를 들어, 클러스터링할 최대 줌 레벨이 16이라면, 카메라의 줌 레벨을 17레벨 이상으로 확대하면 모든 데이터가 클러스터링되지 않고 낱개로 나타납니다. 따라서 클러스터링할 최대 줌 레벨이 지도의 최대 줌 레벨보다 크거나 같다면 카메라를 최대 줌 레벨로 확대하더라도 일부 데이터는 여전히 클러스터링된 채 더 이상 펼쳐지지 않을 수 있습니다.

      기본값은 NaverMap.MAXIMUM_ZOOM - 1입니다.
      Returns:
      클러스터링할 최대 줌 레벨.
    • maxZoom

      @NonNull public Clusterer.Builder<T> maxZoom(@IntRange(from=0L,to=21L) int maxZoom)
      클러스터링할 최대 줌 레벨을 반환합니다. 카메라의 줌 레벨이 최대 줌 레벨보다 높다면 두 데이터가 화면상 기준 거리보다 가깝더라도 더 이상 클러스터링되지 않습니다. 예를 들어, 클러스터링할 최대 줌 레벨이 16이라면, 카메라의 줌 레벨을 17레벨 이상으로 확대하면 모든 데이터가 클러스터링되지 않고 낱개로 나타납니다. 따라서 클러스터링할 최대 줌 레벨이 지도의 최대 줌 레벨보다 크거나 같다면 카메라를 최대 줌 레벨로 확대하더라도 일부 데이터는 여전히 클러스터링된 채 더 이상 펼쳐지지 않을 수 있습니다.

      기본값은 NaverMap.MAXIMUM_ZOOM - 1입니다.
      Parameters:
      maxZoom - 클러스터링할 최대 줌 레벨.
      Returns:
      객체 자신.
    • isAnimate

      public boolean isAnimate()
      카메라 확대/축소시 클러스터가 펼쳐지는/합쳐지는 애니메이션을 적용할지 여부를 반환합니다.

      기본값은 true입니다.
      Returns:
      애니메이션을 적용할 경우 true, 그렇지 않을 경우 false.
    • animate

      @NonNull public Clusterer.Builder<T> animate(boolean animate)
      카메라 확대/축소시 클러스터가 펼쳐지는/합쳐지는 애니메이션을 적용할지 여부를 지정합니다.

      기본값은 true입니다.
      Parameters:
      animate - 애니메이션을 적용할 경우 true, 그렇지 않을 경우 false.
      Returns:
      객체 자신.
    • getClusterMarkerUpdater

      @NonNull public ClusterMarkerUpdater getClusterMarkerUpdater()
      클러스터 마커의 정보를 Marker 객체에 반영하는 업데이터를 반환합니다.

      기본값은 DefaultClusterMarkerUpdater 인스턴스입니다.
      Returns:
      ClusterMarkerUpdater 객체.
    • clusterMarkerUpdater

      @NonNull public Clusterer.Builder<T> clusterMarkerUpdater(@NonNull ClusterMarkerUpdater clusterMarkerUpdater)
      클러스터 마커의 정보를 Marker 객체에 반영하는 업데이터를 지정합니다.

      기본값은 DefaultClusterMarkerUpdater 인스턴스입니다.
      Parameters:
      clusterMarkerUpdater - ClusterMarkerUpdater 객체.
      Returns:
      객체 자신.
    • getLeafMarkerUpdater

      @NonNull public LeafMarkerUpdater getLeafMarkerUpdater()
      단말 마커의 정보를 Marker 객체에 반영하는 업데이터를 반환합니다.

      기본값은 DefaultLeafMarkerUpdater 인스턴스입니다.
      Returns:
      LeafMarkerUpdater 객체.
    • leafMarkerUpdater

      @NonNull public Clusterer.Builder<T> leafMarkerUpdater(@NonNull LeafMarkerUpdater leafMarkerUpdater)
      단말 마커의 정보를 Marker 객체에 반영하는 업데이터를 지정합니다.

      기본값은 DefaultLeafMarkerUpdater 인스턴스입니다.
      Parameters:
      leafMarkerUpdater - LeafMarkerUpdater 객체.
      Returns:
      객체 자신.
    • build

      @NonNull public Clusterer<T> build()
      Clusterer 객체를 생성합니다.
      Returns:
      Clusterer 객체.