Class NaverMap

java.lang.Object
com.naver.maps.map.NaverMap

@UiThread public final class NaverMap extends Object
하나의 지도를 나타내는 클래스. 지도와 관련된 모든 조작은 이 클래스를 통해 이루어집니다. 이 클래스의 인스턴스는 직접 생성할 수 없고 MapFragment.getMapAsync(OnMapReadyCallback)와 같은 메서드를 호출해 비동기적으로 얻어야 합니다.
See Also:
  • Field Details

  • Method Details

    • isDestroyed

      public boolean isDestroyed()
      이 객체의 지도가 소멸했는지 여부를 반환합니다. MapFragmentMapFragment.onDestroyView() 또는 MapViewMapView.onDestroy()가 호출되면 지도가 소멸됩니다. 지도가 소멸되면 메서드를 호출하거나 오버레이를 추가해도 기능이 동작하지 않으며 오류가 로깅됩니다.
      Returns:
      지도가 소멸한 경우 true, 그렇지 않을 경우 false.
    • getContext

      @NonNull public Context getContext()
      이 지도에 해당하는 Context 객체를 반환합니다.
      Returns:
      Context 객체
    • getUiSettings

      @NonNull public UiSettings getUiSettings()
      이 지도의 UiSettings 객체를 반환합니다. 항상 같은 객체가 반환됩니다.
      Returns:
      UiSettings 객체.
    • getProjection

      @NonNull public Projection getProjection()
      이 지도의 Projection 객체를 반환합니다. 항상 같은 객체가 반환됩니다.
      Returns:
      Projection 객체.
    • getLocale

      @Nullable public Locale getLocale()
      지도의 로캘을 반환합니다.

      기본값은 시스템 로캘을 의미하는 null입니다.
      Returns:
      로캘. null일 경우 시스템 로캘 사용.
    • setLocale

      public void setLocale(@Nullable Locale locale)
      지도의 로캘을 지정합니다.

      기본값은 시스템 로캘을 의미하는 null입니다.
      Parameters:
      locale - 로캘. null일 경우 시스템 로캘 사용.
    • getCameraPosition

      @NonNull public CameraPosition getCameraPosition()
      지도의 콘텐츠 영역 중심에 대한 카메라 위치를 반환합니다.
      Returns:
      카메라 위치.
    • getContentBounds

      @NonNull public LatLngBounds getContentBounds()
      지도의 콘텐츠 영역에 대한 LatLngBounds를 반환합니다. 콘텐츠 패딩이 모두 0이면 getCoveringBounds()와 동일한 영역이, 콘텐츠 패딩이 지정되어 있으면 getCoveringBounds()에서 콘텐츠 패딩을 제외한 영역이 반환됩니다.
      Returns:
      콘텐츠 영역에 대한 LatLngBounds.
      See Also:
    • getContentRegion

      @NonNull public LatLng[] getContentRegion()
      지도의 콘텐츠 영역에 대한 좌표열을 반환합니다. 좌표열은 네 개의 좌표로 구성된 사각형으로 표현됩니다. 단, 반환되는 배열의 크기는 5이며, 첫 번째 원소와 마지막 원소가 동일한 지점을 가리킵니다. 콘텐츠 패딩이 모두 0이면 getCoveringRegion()과 동일한 사각형이, 콘텐츠 패딩이 지정되어 있으면 getCoveringRegion()에서 콘텐츠 패딩을 제외한 사각형이 반환됩니다.
      Returns:
      콘텐츠 영역에 대한 사각형 좌표열.
      See Also:
    • getCoveringBounds

      @NonNull public LatLngBounds getCoveringBounds()
      콘텐츠 패딩을 포함한 지도의 뷰 전체 영역에 대한 LatLngBounds를 반환합니다.
      Returns:
      뷰 전체 영역에 대한 LatLngBounds.
    • getCoveringRegion

      @NonNull public LatLng[] getCoveringRegion()
      콘텐츠 패딩을 포함한 지도의 뷰 전체 영역에 대한 좌표열을 반환합니다. 좌표열은 네 개의 좌표로 구성된 사각형으로 표현됩니다. 단, 반환되는 배열의 크기는 5이며, 첫 번째 원소와 마지막 원소가 동일한 지점을 가리킵니다.
      Returns:
      뷰 전체 영역에 대한 사각형 좌표열.
    • getCoveringTileIds

      @NonNull public long[] getCoveringTileIds()
      콘텐츠 패딩을 포함한 지도의 뷰 전체를 완전히 덮는 타일 ID의 목록을 반환합니다.
      Returns:
      타일 ID의 목록.
      See Also:
    • getCoveringTileIdsAtZoom

      @NonNull public long[] getCoveringTileIdsAtZoom(int zoom)
      콘텐츠 패딩을 포함한 지도의 뷰 전체를 완전히 덮는 zoom 레벨 타일 ID의 목록을 반환합니다.
      Parameters:
      zoom - 줌 레벨.
      Returns:
      타일 ID의 목록.
      See Also:
    • setCameraPosition

      public void setCameraPosition(@NonNull CameraPosition cameraPosition)
      카메라의 위치를 변경합니다. 만약 카메라 이동 애니메이션이 진행 중이었다면 취소되고, 진행 중인 CameraUpdate 객체의 CameraUpdate.CancelCallback.onCameraUpdateCancel()NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)가 호출됩니다.
      Parameters:
      cameraPosition - 새로운 카메라 위치.
    • moveCamera

      public void moveCamera(@NonNull CameraUpdate update)
      카메라를 이동합니다. 만약 카메라 이동 애니메이션이 진행 중이었다면 취소되고, 진행 중인 CameraUpdate 객체의 CameraUpdate.CancelCallback.onCameraUpdateCancel()NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)가 호출됩니다.
      Parameters:
      update - CameraUpdate 객체.
    • cancelTransitions

      public void cancelTransitions()
      현재 진행 중인 카메라 이동 애니메이션을 취소합니다. 진행 중인 CameraUpdate 객체의 CameraUpdate.CancelCallback.onCameraUpdateCancel()NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)가 호출됩니다.

      cancelTransitions(CameraUpdate.REASON_DEVELOPER)과 동일합니다.
    • cancelTransitions

      public void cancelTransitions(int reason)
      현재 진행 중인 카메라 이동 애니메이션을 취소합니다. 진행 중인 CameraUpdate 객체의 CameraUpdate.CancelCallback.onCameraUpdateCancel()NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)가 호출됩니다.
      Parameters:
      reason - 취소의 원인. NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)reason 파라메터로 전달됩니다.
    • getDefaultCameraAnimationDuration

      public int getDefaultCameraAnimationDuration()
      카메라 이동 애니메이션의 기본 지속 시간을 반환합니다.

      기본값은 DEFAULT_DEFAULT_CAMERA_ANIMATION_DURATION입니다.
      Returns:
      카메라 이동 애니메이션의 기본 지속 시간. 밀리초 단위.
    • setDefaultCameraAnimationDuration

      public void setDefaultCameraAnimationDuration(int duration)
      카메라 이동 애니메이션의 기본 지속 시간을 지정합니다.

      기본값은 DEFAULT_DEFAULT_CAMERA_ANIMATION_DURATION입니다.
      Parameters:
      duration - 카메라 이동 애니메이션의 기본 지속 시간. 밀리초 단위.
    • getExtent

      @Nullable public LatLngBounds getExtent()
      지도의 제한 영역을 반환합니다.

      기본값은 제한이 없음을 의미하는 null입니다.
      Returns:
      제한 영역. 제한을 두지 않을 경우 null.
    • setExtent

      public void setExtent(@Nullable LatLngBounds extent)
      지도의 제한 영역을 지정합니다.

      기본값은 제한이 없음을 의미하는 null입니다.
      Parameters:
      extent - 제한 영역. 제한을 두지 않을 경우 null.
    • getMinZoom

      public double getMinZoom()
      지도의 최소 줌 레벨을 반환합니다.

      기본값은 MINIMUM_ZOOM입니다.
      Returns:
      최소 줌 레벨.
    • setMinZoom

      public void setMinZoom(double minZoom)
      지도의 최소 줌 레벨을 지정합니다.

      기본값은 MINIMUM_ZOOM입니다.
      Parameters:
      minZoom - 최소 줌 레벨.
    • getMaxZoom

      public double getMaxZoom()
      지도의 최대 줌 레벨을 반환합니다.

      기본값은 MAXIMUM_ZOOM입니다.
      Returns:
      최대 줌 레벨.
    • setMaxZoom

      public void setMaxZoom(double maxZoom)
      지도의 최대 줌 레벨을 지정합니다.

      기본값은 MAXIMUM_ZOOM입니다.
      Parameters:
      maxZoom - 최대 줌 레벨.
    • getMaxTilt

      public double getMaxTilt()
      지도의 최대 기울기 각도를 반환합니다.

      기본값은 MAXIMUM_TILT입니다.
      Returns:
      최대 기울기 각도.
    • setMaxTilt

      public void setMaxTilt(double maxTilt)
      지도의 최대 기울기 각도를 지정합니다.

      기본값은 MAXIMUM_TILT입니다.
      Parameters:
      maxTilt - 최대 기울기 각도.
    • getMapType

      @NonNull public NaverMap.MapType getMapType()
      지도의 유형을 반환합니다.

      기본값은 NaverMap.MapType.Basic입니다.
      Returns:
      지도 유형.
    • setMapType

      public void setMapType(@NonNull NaverMap.MapType mapType)
      지도의 유형을 지정합니다.

      기본값은 NaverMap.MapType.Basic입니다.
      Parameters:
      mapType - 지도 유형.
    • getEnabledLayerGroups

      @NonNull public Set<String> getEnabledLayerGroups()
      활성화된 레이어 그룹의 목록을 반환합니다.
      Returns:
      활성화된 레이어 그룹.
    • isLayerGroupEnabled

      public boolean isLayerGroupEnabled(@NonNull String group)
      레이어 그룹이 활성화되어 있는지 여부를 반환합니다.
      Parameters:
      group - 레이어 그룹의 이름.
      Returns:
      활성화된 경우 true, 그렇지 않을 경우 false.
    • setLayerGroupEnabled

      public void setLayerGroupEnabled(@NonNull String group, boolean enabled)
      레이어 그룹을 활성화할지 여부를 지정합니다.
      Parameters:
      group - 레이어 그룹의 이름.
      enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
    • isDark

      public boolean isDark()
      지도가 어두운지 여부를 반환합니다. 야간 모드가 활성화되어 있거나 지도의 유형이 NaverMap.MapType.Satellite 또는 NaverMap.MapType.Hybrid일 경우 어두운 것으로 간주됩니다.
      Returns:
      어두울 경우 true, 그렇지 않을 경우 false.
    • isLiteModeEnabled

      public boolean isLiteModeEnabled()
      라이트 모드가 활성화되어 있는지 여부를 반환합니다. 라이트 모드가 활성화되면 지도의 로딩이 빨라지고 메모리 소모가 감소합니다. 그러나 다음과 같은 제약이 생깁니다. 기본값은 false입니다.
      Returns:
      활성화된 경우 true, 그렇지 않을 경우 false.
    • setLiteModeEnabled

      public void setLiteModeEnabled(boolean enabled)
      라이트 모드를 활성화할지 여부를 지정합니다. 라이트 모드가 활성화되면 지도의 로딩이 빨라지고 메모리 소모가 감소합니다. 그러나 다음과 같은 제약이 생깁니다. 기본값은 false입니다.
      Parameters:
      enabled - 활성화할 경우 true, 그렇지 않을 경우 false.
    • isNightModeEnabled

      public boolean isNightModeEnabled()
      야간 모드가 활성화되어 있는지 여부를 반환합니다. 야간 모드가 활성화되면 지도 스타일이 어둡게 바뀝니다. 지도 유형이 야간 모드를 지원하지 않으면 야간 모드를 활성화하더라도 아무 변화가 일어나지 않습니다.

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

      public void setNightModeEnabled(boolean enabled)
      야간 모드를 활성화할지 여부를 지정합니다. 야간 모드가 활성화되면 지도 스타일이 어둡게 바뀝니다. 지도 유형이 야간 모드를 지원하지 않으면 야간 모드를 활성화하더라도 아무 변화가 일어나지 않습니다.

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

      public float getBuildingHeight()
      건물의 3D 높이 배율을 반환합니다. 배율이 0일 경우 지도를 기울이더라도 건물이 2D로 나타납니다.

      기본값은 1입니다.
      Returns:
      건물의 3D 높이 배율. 0~1 범위.
    • setBuildingHeight

      public void setBuildingHeight(float buildingHeight)
      건물의 3D 높이 배율을 지정합니다. 배율이 0일 경우 지도를 기울이더라도 건물이 2D로 나타납니다.

      기본값은 1입니다.
      Parameters:
      buildingHeight - 건물의 3D 높이 배율. 0~1 범위.
    • getLightness

      public float getLightness()
      배경의 명도 계수를 반환합니다. 계수가 -1일 경우 명도 최소치인 검정색으로, 1일 경우 명도 최대치인 흰색으로 표시됩니다. 오버레이에는 적용되지 않습니다.

      기본값은 0입니다.
      Returns:
      배경의 명도 계수. -1~1 범위.
    • setLightness

      public void setLightness(float lightness)
      배경의 명도 계수를 지정합니다. 계수가 -1일 경우 명도 최소치인 검정색으로, 1일 경우 명도 최대치인 흰색으로 표시됩니다. 오버레이에는 적용되지 않습니다.

      기본값은 0입니다.
      Parameters:
      lightness - 배경의 명도 계수. -1~1 범위.
    • getSymbolScale

      public float getSymbolScale()
      심벌의 크기 배율을 반환합니다. 배율이 0.5일 경우 절반, 2일 경우 두 배의 크기로 표시됩니다.

      기본값은 1입니다.
      Returns:
      심벌의 크기 배율. 0~2 범위.
    • setSymbolScale

      public void setSymbolScale(float scale)
      심벌의 크기 배율을 지정합니다. 배율이 0.5일 경우 절반, 2일 경우 두 배의 크기로 표시됩니다.

      기본값은 1입니다.
      Parameters:
      scale - 심벌의 크기 배율. 0~2 범위.
    • getSymbolPerspectiveRatio

      public float getSymbolPerspectiveRatio()
      지도를 기울일 때 적용되는 심벌의 원근 계수를 반환합니다. 계수가 1일 경우 배경 지도와 동일한 비율로 멀리 있는 심벌은 작아지고 가까이 있는 심벌은 커지며, 0에 가까울수록 원근 효과가 감소합니다.

      기본값은 1입니다.
      Returns:
      심벌의 원근 계수. 0~1 범위.
    • setSymbolPerspectiveRatio

      public void setSymbolPerspectiveRatio(float ratio)
      지도를 기울일 때 적용되는 심벌의 원근 계수를 지정합니다. 계수가 1일 경우 배경 지도와 동일한 비율로 멀리 있는 심벌은 작아지고 가까이 있는 심벌은 커지며, 0에 가까울수록 원근 효과가 감소합니다.

      기본값은 1입니다.
      Parameters:
      ratio - 심벌의 원근 계수. 0~1 범위.
    • isIndoorEnabled

      public boolean isIndoorEnabled()
      실내지도 활성화 여부를 반환합니다. 활성화하면 카메라가 일정 이상 확대되고 실내지도가 있는 영역에 포커스될 경우 자동으로 해당 영역에 대한 실내지도가 나타납니다.

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

      public void setIndoorEnabled(boolean enabled)
      실내지도 활성화 여부를 지정합니다. 활성화하면 카메라가 일정 이상 확대되고 실내지도가 있는 영역에 포커스될 경우 자동으로 해당 영역에 대한 실내지도가 나타납니다.

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

      public int getIndoorFocusRadius()
      실내지도 영역의 포커스 유지 반경을 반환합니다. 지정할 경우 카메라의 위치가 포커스 유지 반경을 완전히 벗어날 때까지 영역에 대한 포커스가 유지됩니다.

      기본값은 DEFAULT_INDOOR_FOCUS_RADIUS_DP를 픽셀로 환산한 값입니다.
      Returns:
      실내지도 영역 포커스 유지 반경. 픽셀 단위.
    • setIndoorFocusRadius

      public void setIndoorFocusRadius(@Px int radius)
      실내지도 영역의 포커스 유지 반경을 지정합니다. 지정할 경우 카메라의 위치가 포커스 유지 반경을 완전히 벗어날 때까지 영역에 대한 포커스가 유지됩니다.

      기본값은 DEFAULT_INDOOR_FOCUS_RADIUS_DP를 픽셀로 환산한 값입니다.
      Parameters:
      radius - 실내지도 영역 포커스 유지 반경. 픽셀 단위.
    • requestIndoorView

      public void requestIndoorView(@Nullable IndoorView indoorView)
      실내지도 뷰를 나타내도록 요청합니다. 이 메서드를 호출하더라도 실내지도 뷰가 즉시 나타나는 것이 보장되지 않으며, 요청된 실내지도 뷰를 포함하는 영역이 포커스되어야 그 뷰가 나타납니다. 단, 요청된 실내지도 뷰를 포함하는 영역이 이미 포커스되어 있을 경우 즉시 그 뷰가 나타납니다.
      Parameters:
      indoorView - 실내지도 뷰. 요청을 취소할 경우 null.
    • getIndoorSelection

      @Nullable public IndoorSelection getIndoorSelection()
      선택된 실내지도 구역 및 층을 반환합니다.
      Returns:
      선택된 실내지도 구역 및 층에 대한 IndoorSelection 객체.
    • addOnIndoorSelectionChangeListener

      public void addOnIndoorSelectionChangeListener(@NonNull NaverMap.OnIndoorSelectionChangeListener listener)
      선택된 실내지도 구역 및 층의 변경에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnIndoorSelectionChangeListener

      public void removeOnIndoorSelectionChangeListener(@NonNull NaverMap.OnIndoorSelectionChangeListener listener)
      선택된 실내지도 구역 및 층의 변경에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • getBackgroundColor

      public int getBackgroundColor()
      지도의 배경색을 반환합니다. 배경은 해당 지역의 지도 데이터가 없거나 로딩 중일 때 나타납니다.
      Returns:
      배경색.
    • setBackgroundColor

      public void setBackgroundColor(int color)
      지도의 배경색을 지정합니다. 배경은 해당 지역의 지도 데이터가 없거나 로딩 중일 때 나타납니다.
      Parameters:
      color - 배경색.
    • setBackgroundResource

      public void setBackgroundResource(@DrawableRes int resId)
      지도의 배경 리소스를 지정합니다. 배경은 해당 지역의 지도 데이터가 없거나 로딩 중일 때 나타납니다. resId가 올바르지 않을 경우 setBackgroundColor(int)를 이용해 지정된 배경색이 사용됩니다.
      Parameters:
      resId - 배경 리소스의 ID.
    • setBackground

      public void setBackground(@Nullable Drawable drawable)
      지도의 배경 이미지를 지정합니다. 배경은 해당 지역의 지도 데이터가 없거나 로딩 중일 때 나타납니다. drawablenull일 경우 setBackgroundColor(int)를 이용해 지정된 배경색이 사용됩니다.
      Parameters:
      drawable - 배경 이미지.
    • setBackgroundBitmap

      public void setBackgroundBitmap(@Nullable Bitmap bitmap)
      지도의 배경 비트맵을 지정합니다. 배경은 해당 지역의 지도 데이터가 없거나 로딩 중일 때 나타납니다. bitmapnull일 경우 setBackgroundColor(int)를 이용해 지정된 배경색이 사용됩니다.
      Parameters:
      bitmap - 배경 비트맵.
    • pickAll

      @NonNull public List<Pickable> pickAll(@NonNull PointF point)
      특정 화면 좌표에 나타난 모든 오버레이 및 심벌을 가져옵니다. 목록은 가장 위에 그려진 요소부터 가장 아래에 그려진 요소의 순으로 정렬됩니다.

      pickAll(point, 0)과 동일합니다.
      Parameters:
      point - 화면 좌표.
      Returns:
      오버레이 및 심벌의 목록. point에 존재하는 오버레이 또는 심벌이 없을 경우 빈 목록.
    • pickAll

      @NonNull public List<Pickable> pickAll(@NonNull PointF point, @Px int radius)
      특정 화면 좌표 주변 radius 픽셀 내에 나타난 모든 오버레이 및 심벌을 가져옵니다. 목록은 가장 위에 그려진 요소부터 가장 아래에 그려진 요소의 순으로 정렬됩니다.
      Parameters:
      point - 화면 좌표.
      radius - point를 기준으로 한 반경. 픽셀 단위.
      Returns:
      오버레이 및 심벌의 목록. point 주변 radius 픽셀 내에 존재하는 오버레이 또는 심벌이 없을 경우 빈 목록.
    • getLocationOverlay

      @NonNull public LocationOverlay getLocationOverlay()
      이 지도의 LocationOverlay 객체를 반환합니다. 항상 같은 객체가 반환됩니다.
      Returns:
      LocationOverlay 객체.
    • getLocationTrackingMode

      @NonNull public LocationTrackingMode getLocationTrackingMode()
      위치 추적 모드를 반환합니다.

      기본값은 LocationTrackingMode.None입니다.
      Returns:
      위치 추적 모드.
    • setLocationTrackingMode

      public void setLocationTrackingMode(@NonNull LocationTrackingMode mode)
      위치 추적 모드를 지정합니다. 위치 소스가 null일 경우 호출하더라도 아무런 변화가 일어나지 않습니다. LocationTrackingMode.None이 아닌 값으로 지정할 경우 위치 추적 기능이 활성화됩니다.

      기본값은 LocationTrackingMode.None입니다.
      Parameters:
      mode - 위치 추적 모드.
    • getLocationSource

      @Nullable public LocationSource getLocationSource()
      위치 소스를 반환합니다.

      기본값은 null입니다.
      Returns:
      위치 소스.
    • setLocationSource

      public void setLocationSource(@Nullable LocationSource source)
      위치 소스를 지정합니다. null로 지정할 경우 위치 추적 모드가 LocationTrackingMode.None이 됩니다.

      기본값은 null입니다.
      Parameters:
      source - 위치 소스.
    • addOnLocationChangeListener

      public void addOnLocationChangeListener(@NonNull NaverMap.OnLocationChangeListener listener)
      사용자의 위치 변경에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnLocationChangeListener

      public void removeOnLocationChangeListener(@NonNull NaverMap.OnLocationChangeListener listener)
      사용자의 위치 변경에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • getHeight

      @Px public int getHeight()
      지도 뷰의 화면상 너비를 반환합니다.
      Returns:
      지도 뷰의 화면상 너비. 픽셀 단위.
    • getWidth

      @Px public int getWidth()
      지도 뷰의 화면상 높이를 반환합니다.
      Returns:
      지도 뷰의 화면상 높이. 픽셀 단위.
    • getContentWidth

      @Px public int getContentWidth()
      패딩을 제외한 지도 뷰의 화면상 너비를 반환합니다.
      Returns:
      패딩을 제외한 지도 뷰의 화면상 너비. 픽셀 단위.
    • getContentHeight

      @Px public int getContentHeight()
      패딩을 제외한 지도 뷰의 높이를 반환합니다.
      Returns:
      패딩을 제외한 지도 뷰의 화면상 높이. 픽셀 단위.
    • getContentRect

      @NonNull public Rect getContentRect()
      패딩을 제외한 지도 뷰의 화면상 영역을 반환합니다.
      Returns:
      패딩을 제외한 지도 뷰의 화면상 영역.
    • getContentPadding

      @NonNull public int[] getContentPadding()
      지도의 콘텐츠 패딩을 배열로 반환합니다. 배열의 크기는 4이며, 각 원소는 순서대로 왼쪽, 위쪽, 오른쪽, 아래쪽 패딩을 나타냅니다.

      기본값은 모두 0입니다.
      Returns:
      패딩 배열. 각 원소는 픽셀 단위.
    • setContentPadding

      public void setContentPadding(@Px int left, @Px int top, @Px int right, @Px int bottom)
      지도의 콘텐츠 패딩을 지정합니다. 패딩에 해당하는 부분은 지도의 콘텐츠 영역에서 제외됩니다.

      setContentPadding(left, top, right, bottom, false)와 동일합니다.
      Parameters:
      left - 왼쪽 패딩. 픽셀 단위.
      top - 위쪽 패딩. 픽셀 단위.
      right - 오른쪽 패딩. 픽셀 단위.
      bottom - 아래쪽 패딩. 픽셀 단위.
    • setContentPadding

      public void setContentPadding(@Px int left, @Px int top, @Px int right, @Px int bottom, boolean keepCameraTarget)
      지도의 콘텐츠 패딩을 지정합니다. 패딩에 해당하는 부분은 지도의 콘텐츠 영역에서 제외됩니다.

      keepCameraTarget에 따라 카메라의 좌표 또는 지도의 영역이 유지됩니다.
      • true인 경우: 카메라의 좌표를 유지하며 콘텐츠 영역을 변경합니다. 따라서 화면에 나타나는 지도의 전체 영역이 변경됩니다. 카메라에 변화가 없으므로 NaverMap.OnCameraChangeListener.onCameraChange(int, boolean) 이벤트는 발생하지 않습니다.
      • false인 경우: 화면에 나타나는 지도의 전체 영역을 유지하며 콘텐츠 영역을 변경합니다. 따라서 카메라의 좌표는 새로운 콘텐츠 영역의 중심을 가리키도록 변경되며, NaverMap.OnCameraChangeListener.onCameraChange(int, boolean) 이벤트가 발생합니다.
      Parameters:
      left - 왼쪽 패딩. 픽셀 단위.
      top - 위쪽 패딩. 픽셀 단위.
      right - 오른쪽 패딩. 픽셀 단위.
      bottom - 아래쪽 패딩. 픽셀 단위.
      keepCameraTarget - 카메라의 좌표를 유지할지 여부. 유지할 경우 true, 그렇지 않을 경우 false.
    • setFpsLimit

      @UiThread public void setFpsLimit(int fps)
      지도의 최대 초당 프레임 수(FPS, frames per second)를 지정합니다.

      기본값은 제한을 두지 않음을 의미하는 0입니다.
      Parameters:
      fps - 최대 초당 프레임 수.
    • getFpsLimit

      @UiThread public int getFpsLimit()
      지도의 최대 초당 프레임 수(FPS, frames per second)를 반환합니다.

      기본값은 제한을 두지 않음을 의미하는 0입니다.
      Returns:
      최대 초당 프레임 수.
    • addOnCameraChangeListener

      public void addOnCameraChangeListener(@NonNull NaverMap.OnCameraChangeListener listener)
      카메라의 움직임에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnCameraChangeListener

      public void removeOnCameraChangeListener(@NonNull NaverMap.OnCameraChangeListener listener)
      카메라의 움직임에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • addOnCameraIdleListener

      public void addOnCameraIdleListener(@NonNull NaverMap.OnCameraIdleListener listener)
      카메라의 움직임이 끝난 경우에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnCameraIdleListener

      public void removeOnCameraIdleListener(@NonNull NaverMap.OnCameraIdleListener listener)
      카메라의 움직임이 끝난 경우에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • isCameraIdlePending

      public boolean isCameraIdlePending()
      카메라 움직임 종료 이벤트의 발생을 지연하도록 되어있는지 여부를 반환합니다. 지연하도록 지정되면 카메라 움직임 종료 이벤트가 발생해야 하는 순간이 오더라도 이벤트가 발생하지 않으며, 이후 지연하지 않도록 다시 지정되면 그 즉시 지연되었던 이벤트가 발생할 수 있습니다.

      기본값은 false입니다.
      Returns:
      지연된 경우 true, 그렇지 않은 경우 false.
    • setCameraIdlePending

      public void setCameraIdlePending(boolean cameraIdlePending)
      카메라 움직임 종료 이벤트의 발생을 지연할지 여부를 지정합니다. 지연하도록 지정하면 카메라 움직임 종료 이벤트가 발생해야 하는 순간이 오더라도 이벤트가 발생하지 않으며, 이후 지연하지 않도록 다시 지정하면 그 즉시 지연되었던 이벤트가 발생할 수 있습니다.

      기본값은 false입니다.
      Parameters:
      cameraIdlePending - 카메라 움직임 종료 이벤트의 발생을 지연할지 여부. 지연할 경우 true, 그렇지 않을 경우 false.
    • addOnLoadListener

      public void addOnLoadListener(@NonNull NaverMap.OnLoadListener listener)
      지도의 최초 로딩에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnLoadListener

      public void removeOnLoadListener(@NonNull NaverMap.OnLoadListener listener)
      지도 로딩에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • addOnOptionChangeListener

      public void addOnOptionChangeListener(@NonNull NaverMap.OnOptionChangeListener listener)
      지도 옵션 변경에 대한 이벤트 리스너를 등록합니다.
      Parameters:
      listener - 등록할 이벤트 리스너 객체.
    • removeOnOptionChangeListener

      public void removeOnOptionChangeListener(@NonNull NaverMap.OnOptionChangeListener listener)
      지도 옵션 변경에 대한 이벤트 리스너를 해제합니다.
      Parameters:
      listener - 해제할 이벤트 리스너 객체.
    • getOnMapClickListener

      @Nullable public NaverMap.OnMapClickListener getOnMapClickListener()
      클릭 이벤트 리스너를 반환합니다.
      Returns:
      이벤트 리스너 객체. 지정된 이벤트 리스너가 없을 경우 null.
    • setOnMapClickListener

      public void setOnMapClickListener(@Nullable NaverMap.OnMapClickListener listener)
      클릭 이벤트 리스너를 지정합니다. 사용자가 지도를 클릭하면 listenerNaverMap.OnMapClickListener.onMapClick(PointF, LatLng)이 호출됩니다. 단, 오버레이나 심벌이 클릭 이벤트를 소비한 경우 지도까지 이벤트가 전달되지 않습니다.
      Parameters:
      listener - 이벤트 리스너 객체. null일 경우 이벤트 리스너가 해제됩니다.
    • getOnMapLongClickListener

      @Nullable public NaverMap.OnMapLongClickListener getOnMapLongClickListener()
      롱 클릭 이벤트 리스너를 반환합니다.
      Returns:
      이벤트 리스너 객체. 지정된 이벤트 리스너가 없을 경우 null.
    • setOnMapLongClickListener

      public void setOnMapLongClickListener(@Nullable NaverMap.OnMapLongClickListener listener)
      롱 클릭 이벤트 리스너를 지정합니다. 사용자가 지도를 롱 클릭하면 listenerNaverMap.OnMapLongClickListener.onMapLongClick(PointF, LatLng)이 호출됩니다.
      Parameters:
      listener - 이벤트 리스너 객체. null일 경우 이벤트 리스너가 해제됩니다.
    • getOnMapDoubleTapListener

      @Nullable public NaverMap.OnMapDoubleTapListener getOnMapDoubleTapListener()
      지도에 지정된 더블 탭 이벤트 리스너 객체를 반환합니다.
      Returns:
      이벤트 리스너 객체. 지정된 이벤트 리스너가 없을 경우 null.
    • setOnMapDoubleTapListener

      public void setOnMapDoubleTapListener(@Nullable NaverMap.OnMapDoubleTapListener listener)
      더블 탭 이벤트 리스너를 지정합니다. 사용자가 지도를 더블 탭하면 listenerNaverMap.OnMapDoubleTapListener.onMapDoubleTap(PointF, LatLng)이 호출됩니다.
      Parameters:
      listener - 이벤트 리스너 객체. null일 경우 이벤트 리스너가 해제됩니다.
    • getOnMapTwoFingerTapListener

      @Nullable public NaverMap.OnMapTwoFingerTapListener getOnMapTwoFingerTapListener()
      지도에 지정된 두 손가락 탭 이벤트 리스너 객체를 반환합니다.
      Returns:
      이벤트 리스너 객체. 지정된 이벤트 리스너가 없을 경우 null.
    • setOnMapTwoFingerTapListener

      public void setOnMapTwoFingerTapListener(@Nullable NaverMap.OnMapTwoFingerTapListener listener)
      두 손가락 탭 리스너를 지정합니다. 사용자가 지도를 두 손가락 탭하면 listenerNaverMap.OnMapTwoFingerTapListener.onMapTwoFingerTap(PointF, LatLng)이 호출됩니다.
      Parameters:
      listener - 이벤트 리스너 객체. null일 경우 이벤트 리스너가 해제됩니다.
    • getOnSymbolClickListener

      @Nullable public NaverMap.OnSymbolClickListener getOnSymbolClickListener()
      지도에 지정된 심벌 클릭 이벤트 리스너 객체를 반환합니다.
      Returns:
      이벤트 리스너 객체. 지정된 이벤트 리스너가 없을 경우 null.
    • setOnSymbolClickListener

      public void setOnSymbolClickListener(@Nullable NaverMap.OnSymbolClickListener listener)
      심벌 클릭 이벤트 리스너를 지정합니다. 사용자가 지도 심벌을 클릭하면 listenerNaverMap.OnSymbolClickListener.onSymbolClick(Symbol)이 호출됩니다.
      Parameters:
      listener - 이벤트 리스너 객체.
    • takeSnapshot

      public void takeSnapshot(@NonNull NaverMap.SnapshotReadyCallback callback)
      컨트롤을 포함한 현재 지도의 스냅숏을 촬영합니다. 스냅숏이 촬영되면 callbackNaverMap.SnapshotReadyCallback.onSnapshotReady(Bitmap)가 호출됩니다. takeSnapshot(true, callback)과 동일합니다.
      Parameters:
      callback - 콜백 객체.
    • takeSnapshot

      public void takeSnapshot(boolean showControls, @NonNull NaverMap.SnapshotReadyCallback callback)
      현재 지도의 스냅숏을 촬영합니다. 스냅숏이 촬영되면 callbackNaverMap.SnapshotReadyCallback.onSnapshotReady(Bitmap)가 호출됩니다.
      Parameters:
      showControls - 컨트롤 노출 여부. 노출할 경우 true, 그렇지 않을 경우 false.
      callback - 콜백 객체.