Class UiSettings


  • @UiThread
    public final class UiSettings
    extends Object
    제스처 사용, 컨트롤 노출 등 사용자 인터페이스와 관련된 설정을 관리하는 클래스. 이 클래스의 인스턴스는 직접 생성할 수 없고 NaverMap.getUiSettings()를 이용해서 가져올 수 있습니다. 설정으로 제스처나 컨트롤을 비활성화하더라도 API를 호출하면 여전히 카메라를 움직일 수 있습니다.
    • Method Detail

      • getPickTolerance

        @Px
        public int getPickTolerance()
        지도 클릭 시 피킹되는 Pickable의 클릭 허용 반경을 반환합니다. 사용자가 지도를 클릭했을 때, 클릭된 지점이 Pickable의 영역 내에 존재하지 않더라도 허용 반경 내에 있다면 해당 요소가 클릭된 것으로 간주됩니다.

        기본값은 NaverMap.DEFAULT_PICK_TOLERANCE_DP를 픽셀로 환산한 값입니다.
        Returns:
        클릭 시 피킹 허용 반경. 픽셀 단위.
      • setPickTolerance

        public void setPickTolerance​(@Px
                                     int tolerance)
        지도 클릭 시 피킹되는 Pickable의 클릭 허용 반경을 지정합니다. 사용자가 지도를 클릭했을 때, 클릭된 지점이 Pickable의 영역 내에 존재하지 않더라도 허용 반경 내에 있다면 해당 요소가 클릭된 것으로 간주됩니다.

        기본값은 NaverMap.DEFAULT_PICK_TOLERANCE_DP를 픽셀로 환산한 값입니다.
        Parameters:
        tolerance - 클릭 시 피킹 허용 반경. 픽셀 단위.
      • isScrollGesturesEnabled

        public boolean isScrollGesturesEnabled()
        스크롤 제스처가 활성화되어 있는지 여부를 반환합니다. 활성화되면 지도를 스와이프해 카메라의 좌표를 변경할 수 있습니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setScrollGesturesEnabled

        public void setScrollGesturesEnabled​(boolean enabled)
        스크롤 제스처를 활성화할지 여부를 지정합니다. 활성화하면 지도를 스와이프해 카메라의 좌표를 변경할 수 있습니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isZoomGesturesEnabled

        public boolean isZoomGesturesEnabled()
        줌 제스처가 활성화되어 있는지 여부를 반환합니다. 활성화되면 지도를 더블 탭, 두 손가락 탭, 핀치해 카메라의 줌 레벨을 변경할 수 있습니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setZoomGesturesEnabled

        public void setZoomGesturesEnabled​(boolean enabled)
        줌 제스처를 활성화할지 여부를 지정합니다. 활성화하면 지도를 더블 탭, 두 손가락 탭, 핀치해 카메라의 줌 레벨을 변경할 수 있습니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isTiltGesturesEnabled

        public boolean isTiltGesturesEnabled()
        틸트 제스처가 활성화되어 있는지 여부를 반환합니다. 활성화되면 지도를 두 손가락으로 세로로 스와이프해 카메라의 기울기 각도를 변경할 수 있습니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setTiltGesturesEnabled

        public void setTiltGesturesEnabled​(boolean enabled)
        틸트 제스처를 활성화할지 여부를 지정합니다. 활성화하면 지도를 두 손가락으로 세로로 스와이프해 카메라의 기울기 각도를 변경할 수 있습니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isRotateGesturesEnabled

        public boolean isRotateGesturesEnabled()
        회전 제스처가 활성화되어 있는지 여부를 반환합니다. 활성화되면 두 손가락으로 지도를 돌려 카메라의 베어링 각도를 변경할 수 있습니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setRotateGesturesEnabled

        public void setRotateGesturesEnabled​(boolean enabled)
        회전 제스처를 활성화할지 여부를 지정합니다. 활성화하면 두 손가락으로 지도를 돌려 카메라의 베어링 각도를 변경할 수 있습니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isStopGesturesEnabled

        public boolean isStopGesturesEnabled()
        스톱 제스처가 활성화되어 있는지 여부를 반환합니다. 활성화되면 지도 애니메이션 진행 중 탭으로 지도 애니메이션을 중지할 수 있습니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setStopGesturesEnabled

        public void setStopGesturesEnabled​(boolean enabled)
        스톱 제스처를 활성화할지 여부를 지정합니다. 활성화하면 지도 애니메이션 진행 중 탭으로 지도 애니메이션을 중지할 수 있습니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • getScrollGesturesFriction

        public float getScrollGesturesFriction()
        스크롤 제스처의 마찰 계수를 0~1로 반환합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_SCROLL_GESTURES_FRICTION입니다.
        Returns:
        마찰 계수.
      • setScrollGesturesFriction

        public void setScrollGesturesFriction​(float friction)
        스크롤 제스처의 마찰 계수를 0~1로 지정합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_SCROLL_GESTURES_FRICTION입니다.
        Parameters:
        friction - 마찰 계수.
      • getZoomGesturesFriction

        public float getZoomGesturesFriction()
        줌 제스처의 마찰 계수를 0~1로 반환합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_ZOOM_GESTURES_FRICTION입니다.
        Returns:
        마찰 계수.
      • setZoomGesturesFriction

        public void setZoomGesturesFriction​(float friction)
        줌 제스처의 마찰 계수를 0~1로 지정합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_ZOOM_GESTURES_FRICTION입니다.
        Parameters:
        friction - 마찰 계수.
      • getRotateGesturesFriction

        public float getRotateGesturesFriction()
        회전 제스처의 마찰 계수를 0~1로 반환합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_ROTATE_GESTURES_FRICTION입니다.
        Returns:
        마찰 계수.
      • setRotateGesturesFriction

        public void setRotateGesturesFriction​(float friction)
        회전 제스처의 마찰 계수를 0~1로 지정합니다. 계수가 클수록 마찰이 강해집니다.

        기본값은 NaverMap.DEFAULT_ROTATE_GESTURES_FRICTION입니다.
        Parameters:
        friction - 마찰 계수.
      • isCompassEnabled

        public boolean isCompassEnabled()
        나침반이 활성화되어 있는지 여부를 반환합니다. 활성화되면 나침반이 노출됩니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setCompassEnabled

        public void setCompassEnabled​(boolean enabled)
        나침반을 활성화할지 여부를 지정합니다. 활성화하면 나침반이 노출됩니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isScaleBarEnabled

        public boolean isScaleBarEnabled()
        축척 바가 활성화되어 있는지 여부를 반환합니다. 활성화되면 축척 바가 노출됩니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setScaleBarEnabled

        public void setScaleBarEnabled​(boolean enabled)
        축척 바를 활성화할지 여부를 지정합니다. 활성화하면 축척 바가 노출됩니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isZoomControlEnabled

        public boolean isZoomControlEnabled()
        줌 컨트롤이 활성화되어 있는지 여부를 반환합니다. 활성화되면 줌 컨트롤이 노출됩니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setZoomControlEnabled

        public void setZoomControlEnabled​(boolean enabled)
        줌 컨트롤을 활성화할지 여부를 지정합니다. 활성화하면 줌 컨트롤이 노출됩니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isIndoorLevelPickerEnabled

        public boolean isIndoorLevelPickerEnabled()
        실내지도 층 피커가 활성화되어 있는지 여부를 반환합니다. 활성화되면 실내지도 패널이 노출됩니다.

        기본값은 false입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setIndoorLevelPickerEnabled

        public void setIndoorLevelPickerEnabled​(boolean enabled)
        실내지도 층 피커를 활성화할지 여부를 지정합니다. 활성화하면 실내지도 패널이 노출됩니다.

        기본값은 false입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isLocationButtonEnabled

        public boolean isLocationButtonEnabled()
        현위치 버튼이 활성화되어 있는지 여부를 반환합니다. 활성화되면 현위치 버튼이 노출됩니다.

        기본값은 false입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setLocationButtonEnabled

        public void setLocationButtonEnabled​(boolean enabled)
        현위치 버튼을 활성화할지 여부를 지정합니다. 활성화하면 현위치 버튼이 노출됩니다.

        기본값은 false입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • isLogoClickEnabled

        public boolean isLogoClickEnabled()
        네이버 로고 클릭이 활성화되어 있는지 여부를 반환합니다. 활성화하면 네이버 로고 클릭시 범례, 법적 공지, 오픈소스 라이선스를 보여주는 다이얼로그가 열립니다.

        이 옵션을 false로 지정하는 앱은 반드시 앱 내에 네이버 지도 SDK의 법적 공지 액티비티(LegalNoticeActivity) 및 오픈소스 라이선스 액티비티(OpenSourceLicenseActivity)로 연결되는 메뉴를 만들어야 합니다.

        기본값은 true입니다.
        Returns:
        활성화된 경우 true, 그렇지 않을 경우 false.
      • setLogoClickEnabled

        public void setLogoClickEnabled​(boolean enabled)
        네이버 로고 클릭을 활성화할지 여부를 지정합니다. 활성화하면 네이버 로고 클릭시 범례, 법적 공지, 오픈소스 라이선스를 보여주는 다이얼로그가 열립니다.

        이 옵션을 false로 지정하는 앱은 반드시 앱 내에 네이버 지도 SDK의 법적 공지 액티비티(LegalNoticeActivity) 및 오픈소스 라이선스 액티비티(OpenSourceLicenseActivity)로 연결되는 메뉴를 만들어야 합니다.

        기본값은 true입니다.
        Parameters:
        enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
      • getLogoGravity

        public int getLogoGravity()
        네이버 로고의 그래비티를 반환합니다.
        Returns:
        그래비티.
        See Also:
        Gravity
      • setLogoGravity

        public void setLogoGravity​(int gravity)
        네이버 로고의 그래비티를 지정합니다.
        Parameters:
        gravity - 그래비티.
        See Also:
        Gravity
      • getLogoMargin

        @NonNull
        public int[] getLogoMargin()
        네이버 로고의 마진을 배열로 반환합니다. 배열의 크기는 4이며, 각 원소는 순서대로 왼쪽, 위쪽, 오른쪽, 아래쪽 마진을 나타냅니다.
        Returns:
        마진 배열. 각 원소는 픽셀 단위.
      • setLogoMargin

        public void setLogoMargin​(@Px
                                  int left,
                                  @Px
                                  int top,
                                  @Px
                                  int right,
                                  @Px
                                  int bottom)
        네이버 로고의 마진을 지정합니다.
        Parameters:
        left - 왼쪽 마진. 픽셀 단위.
        top - 위쪽 마진. 픽셀 단위.
        right - 오른쪽 마진. 픽셀 단위.
        bottom - 아래쪽 마진. 픽셀 단위.