Package com.naver.maps.map
Class CameraUpdate
- java.lang.Object
-
- com.naver.maps.map.CameraUpdate
-
public abstract class CameraUpdate extends java.lang.Object
지도를 바라보는 카메라의 이동을 정의하는 클래스. 이 클래스의 인스턴스는 직접 생성할 수 없고, 팩토리 메서드를 이용해서 생성할 수 있습니다. 생성한 인스턴스를 파라미터로 삼아NaverMap.moveCamera(CameraUpdate)
를 호출하면 지도를 이동시킬 수 있습니다.
카메라의 이동은 다음과 같은 다섯 가지 요소로 구성됩니다.- 카메라의 위치: 카메라를 이동할 위치.
CameraUpdate
를 생성하는 팩토리 메서드의 파라미터로 지정합니다. - 피봇 지점: 카메라 이동의 기준점이 되는 지점. 피봇 지점을 지정하면 이동, 줌 레벨 변경, 회전의 기준점이 해당 지점이
됩니다.
pivot(PointF)
으로 지정합니다. - 애니메이션: 카메라 이동 시 적용될 애니메이션. 애니메이션의 유형과 시간을 지정할 수 있습니다.
animate(CameraAnimation)
또는animate(CameraAnimation, long)
로 지정합니다. - 이동 원인: 카메라 이동의 원인. 이 값을 지정하면
NaverMap.OnCameraChangeListener.onCameraChange(int, boolean)
의reason
파라미터로 전달됩니다.reason(int)
으로 지정합니다. - 콜백: 카메라 이동이 완료된 후 호출될 콜백. 카메라 이동이 방해 없이 완료된 경우와 취소된 경우를 구분할 수 있습니다.
finishCallback(FinishCallback)
및cancelCallback(CancelCallback)
으로 지정합니다.
- See Also:
NaverMap.moveCamera(CameraUpdate)
- 카메라의 위치: 카메라를 이동할 위치.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CameraUpdate.CancelCallback
카메라 이동 취소에 대한 콜백 인터페이스.static interface
CameraUpdate.FinishCallback
카메라 이동 완료에 대한 콜백 인터페이스.
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_ANIMATION_DURATION
기본 애니메이션 시간을 의미하는 상수.static int
REASON_CONTROL
사용자의 버튼 선택으로 인해 카메라가 움직였음을 나타내는 값.static int
REASON_DEVELOPER
개발자가 API를 호출해 카메라가 움직였음을 나타내는 값.static int
REASON_GESTURE
사용자의 제스처로 인해 카메라가 움직였음을 나타내는 값.static int
REASON_LOCATION
위치 정보 갱신으로 카메라가 움직였음을 나타내는 값.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CameraUpdate
animate(CameraAnimation animation)
카메라 이동 시 적용할 애니메이션을 지정합니다.CameraUpdate
animate(CameraAnimation animation, long duration)
카메라 이동 시 적용할 애니메이션을 지정합니다.CameraUpdate
cancelCallback(CameraUpdate.CancelCallback callback)
카메라 이동이 취소된 후 호출될 콜백을 지정합니다.CameraUpdate
finishCallback(CameraUpdate.FinishCallback callback)
카메라 이동이 완료된 후 호출될 콜백을 지정합니다.static CameraUpdate
fitBounds(LatLngBounds bounds)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다.static CameraUpdate
fitBounds(LatLngBounds bounds, int padding)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다.static CameraUpdate
fitBounds(LatLngBounds bounds, int paddingLeft, int paddingTop, int paddingRight, int paddingBottom)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다.CameraUpdate
pivot(android.graphics.PointF pivot)
피봇 지점을 지정합니다.CameraUpdate
reason(int reason)
카메라 이동의 원인을 지정합니다.static CameraUpdate
scrollAndZoomTo(LatLng target, double zoom)
static CameraUpdate
scrollBy(android.graphics.PointF delta)
카메라를 현재 위치에서delta
픽셀만큼 이동하도록 지정하는CameraUpdate
객체를 생성합니다.static CameraUpdate
scrollTo(LatLng target)
카메라의 좌표를target
으로 변경하는CameraUpdate
객체를 생성합니다.static CameraUpdate
toCameraPosition(CameraPosition position)
카메라를position
위치로 이동하는CameraUpdate
객체를 생성합니다.static CameraUpdate
withParams(CameraUpdateParams params)
params
를 이용해 카메라를 이동하는CameraUpdate
객체를 생성합니다.static CameraUpdate
zoomBy(double delta)
카메라의 줌 레벨을delta
만큼 변경하는CameraUpdate
객체를 생성합니다.static CameraUpdate
zoomIn()
카메라의 줌 레벨을1
만큼 증가하는CameraUpdate
객체를 생성합니다.static CameraUpdate
zoomOut()
카메라의 줌 레벨을1
만큼 감소하는CameraUpdate
객체를 생성합니다.static CameraUpdate
zoomTo(double zoom)
카메라의 줌 레벨을zoom
으로 변경하는CameraUpdate
객체를 생성합니다.
-
-
-
Field Detail
-
REASON_DEVELOPER
public static final int REASON_DEVELOPER
개발자가 API를 호출해 카메라가 움직였음을 나타내는 값.- See Also:
reason(int)
, Constant Field Values
-
REASON_GESTURE
public static final int REASON_GESTURE
사용자의 제스처로 인해 카메라가 움직였음을 나타내는 값.- See Also:
reason(int)
, Constant Field Values
-
REASON_CONTROL
public static final int REASON_CONTROL
사용자의 버튼 선택으로 인해 카메라가 움직였음을 나타내는 값.- See Also:
reason(int)
, Constant Field Values
-
REASON_LOCATION
public static final int REASON_LOCATION
위치 정보 갱신으로 카메라가 움직였음을 나타내는 값.- See Also:
reason(int)
, Constant Field Values
-
DEFAULT_ANIMATION_DURATION
public static final int DEFAULT_ANIMATION_DURATION
기본 애니메이션 시간을 의미하는 상수. 애니메이션 시간이 이 값으로 지정되었을 경우NaverMap.setDefaultCameraAnimationDuration(int)
으로 지정된 시간이 적용됩니다.- See Also:
- Constant Field Values
-
-
Method Detail
-
withParams
@NonNull public static CameraUpdate withParams(@NonNull CameraUpdateParams params)
params
를 이용해 카메라를 이동하는CameraUpdate
객체를 생성합니다.- Parameters:
params
- 카메라 이동에 사용할 파라미터.- Returns:
CameraUpdate
객체.
-
toCameraPosition
@NonNull public static CameraUpdate toCameraPosition(@NonNull CameraPosition position)
카메라를position
위치로 이동하는CameraUpdate
객체를 생성합니다.- Parameters:
position
- 새로운 카메라 위치.- Returns:
CameraUpdate
객체.
-
scrollTo
@NonNull public static CameraUpdate scrollTo(@NonNull LatLng target)
카메라의 좌표를target
으로 변경하는CameraUpdate
객체를 생성합니다. 줌 레벨, 기울기 각도, 베어링 각도 등 좌표 외의 다른 속성은 변하지 않습니다.- Parameters:
target
- 새로운 카메라 좌표.- Returns:
CameraUpdate
객체.
-
scrollBy
@NonNull public static CameraUpdate scrollBy(@NonNull android.graphics.PointF delta)
카메라를 현재 위치에서delta
픽셀만큼 이동하도록 지정하는CameraUpdate
객체를 생성합니다. 줌 레벨, 기울기 각도, 베어링 각도 등 좌표 외의 다른 속성은 변하지 않습니다.- Parameters:
delta
- 이동할 거리. 픽셀 단위.- Returns:
CameraUpdate
객체.
-
zoomTo
@NonNull public static CameraUpdate zoomTo(double zoom)
카메라의 줌 레벨을zoom
으로 변경하는CameraUpdate
객체를 생성합니다. 좌표, 기울기 각도, 베어링 각도 등 줌 레벨 외의 다른 속성은 변하지 않습니다.- Parameters:
zoom
- 새로운 카메라 줌 레벨.- Returns:
CameraUpdate
객체.
-
zoomBy
@NonNull public static CameraUpdate zoomBy(double delta)
카메라의 줌 레벨을delta
만큼 변경하는CameraUpdate
객체를 생성합니다. 좌표, 기울기 각도, 베어링 각도 등 줌 레벨 외의 다른 속성은 변하지 않습니다.- Parameters:
delta
- 줌 레벨의 변화량.- Returns:
CameraUpdate
객체.
-
zoomIn
@NonNull public static CameraUpdate zoomIn()
카메라의 줌 레벨을1
만큼 증가하는CameraUpdate
객체를 생성합니다. 좌표, 기울기 각도, 베어링 각도 등 줌 레벨 외의 다른 속성은 변하지 않습니다.- Returns:
CameraUpdate
객체.
-
zoomOut
@NonNull public static CameraUpdate zoomOut()
카메라의 줌 레벨을1
만큼 감소하는CameraUpdate
객체를 생성합니다. 좌표, 기울기 각도, 베어링 각도 등 줌 레벨 외의 다른 속성은 변하지 않습니다.- Returns:
CameraUpdate
객체.
-
scrollAndZoomTo
@NonNull public static CameraUpdate scrollAndZoomTo(@NonNull LatLng target, double zoom)
카메라의 좌표를target
으로, 줌 레벨을zoom
으로 변경하는CameraUpdate
객체를 생성합니다. 기울기 각도, 베어링 각도 등 좌표와 줌 레벨 외의 다른 속성은 변하지 않습니다.- Parameters:
target
- 새로운 카메라 좌표.zoom
- 새로운 카메라 줌 레벨.- Returns:
CameraUpdate
객체.
-
fitBounds
@NonNull public static CameraUpdate fitBounds(@NonNull LatLngBounds bounds)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다. 기울기 각도와 베어링 각도는0
으로 변경되며, 피봇 지점은 무시됩니다.- Parameters:
bounds
- 카메라로 볼 영역.- Returns:
CameraUpdate
객체.
-
fitBounds
@NonNull public static CameraUpdate fitBounds(@NonNull LatLngBounds bounds, @Px int padding)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다. 기울기 각도와 베어링 각도는0
으로 변경되며, 피봇 지점은 무시됩니다.- Parameters:
bounds
- 카메라로 볼 영역.padding
- 카메라가 변경된 후 영역과 지도 화면 간 확보할 최소 여백. 픽셀 단위.- Returns:
CameraUpdate
객체.
-
fitBounds
@NonNull public static CameraUpdate fitBounds(@NonNull LatLngBounds bounds, @Px int paddingLeft, @Px int paddingTop, @Px int paddingRight, @Px int paddingBottom)
bounds
가 화면에 온전히 보이는 좌표와 최대 줌 레벨로 카메라의 위치를 변경하는CameraUpdate
객체를 생성합니다. 기울기 각도와 베어링 각도는0
으로 변경되며, 피봇 지점은 무시됩니다.- Parameters:
bounds
- 카메라로 볼 영역.paddingLeft
- 카메라가 변경된 후 영역과 지도 화면 간 확보할 왼쪽 최소 여백. 픽셀 단위.paddingTop
- 카메라가 변경된 후 영역과 지도 화면 간 확보할 위쪽 최소 여백. 픽셀 단위.paddingRight
- 카메라가 변경된 후 영역과 지도 화면 간 확보할 오른쪽 최소 여백. 픽셀 단위.paddingBottom
- 카메라가 변경된 후 영역과 지도 화면 간 확보할 아래쪽 최소 여백. 픽셀 단위.- Returns:
CameraUpdate
객체.
-
pivot
@NonNull public CameraUpdate pivot(@NonNull android.graphics.PointF pivot)
피봇 지점을 지정합니다.0, 0
일 경우 왼쪽 위,1, 1
일 경우 오른쪽 아래 지점을 의미합니다.fitBounds()
를 이용해 객체를 생성한 경우에는 무시됩니다.- Parameters:
pivot
- 피봇 지점.- Returns:
- 객체 자신.
-
animate
@NonNull public CameraUpdate animate(@NonNull CameraAnimation animation)
카메라 이동 시 적용할 애니메이션을 지정합니다. 애니메이션의 시간은DEFAULT_ANIMATION_DURATION
으로 지정됩니다.animation
이CameraAnimation.None
일 경우 지도가 애니메이션 없이 즉시 이동됩니다.- Parameters:
animation
- 애니메이션 유형.- Returns:
- 객체 자신.
- See Also:
CameraAnimation
-
animate
@NonNull public CameraUpdate animate(@NonNull CameraAnimation animation, long duration)
카메라 이동 시 적용할 애니메이션을 지정합니다.animation
이CameraAnimation.None
이거나duration
이0
인 경우 지도가 애니메이션 없이 즉시 이동됩니다.- Parameters:
animation
- 애니메이션 유형.duration
- 애니메이션의 시간. 밀리초 단위.- Returns:
- 객체 자신.
- See Also:
CameraAnimation
-
reason
public CameraUpdate reason(int reason)
- Parameters:
reason
- 카메라 이동의 원인.- Returns:
- 객체 자신.
-
finishCallback
@NonNull public CameraUpdate finishCallback(@Nullable CameraUpdate.FinishCallback callback)
카메라 이동이 완료된 후 호출될 콜백을 지정합니다.- Parameters:
callback
- 콜백 객체.- Returns:
- 객체 자신.
- See Also:
CameraUpdate.FinishCallback
-
cancelCallback
@NonNull public CameraUpdate cancelCallback(@Nullable CameraUpdate.CancelCallback callback)
카메라 이동이 취소된 후 호출될 콜백을 지정합니다.- Parameters:
callback
- 콜백 객체.- Returns:
- 객체 자신.
- See Also:
CameraUpdate.CancelCallback
-
-