Class Clusterer.Builder<T extends ClusteringKey>

  • Type Parameters:
    T - 키의 타입.
    Enclosing class:
    Clusterer<T extends ClusteringKey>

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

      • Builder

        public Builder()
        생성자.
    • Method Detail

      • 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:
        객체 자신.