Package com.naver.maps.map.overlay
Class PathOverlay
java.lang.Object
com.naver.maps.map.overlay.Overlay
com.naver.maps.map.overlay.PathOverlay
- All Implemented Interfaces:
Pickable
지도에 경로선을 나타내는 오버레이. 하나의 선을 나타낸다는 측면에서는
PolylineOverlay
와 유사하나, 다음과
같이 경로선에 특화된 특징이 있습니다.
- 테두리와 패턴 이미지를 적용할 수 있습니다.
- 지도를 기울이더라도 두께가 일정하게 유지됩니다.
- 자기교차(self-intersection)가 일어나더라도 테두리, 패턴 이미지가 자연스럽게 나타납니다.
- 진척률을 지정할 수 있으며, 지나온/지나갈 경로에 각각 다른 색상과 테두리를 지정할 수 있습니다.
- 충돌하는 마커 및 심벌을 숨길 수 있습니다.
- 점선 패턴, 끝 지점/연결점의 모양은 지정할 수 없습니다.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.naver.maps.map.overlay.Overlay
Overlay.InvalidBoundsException, Overlay.InvalidCoordinateException, Overlay.OnClickListener
-
Field Summary
-
Constructor Summary
ConstructorDescription기본 생성자.PathOverlay
(List<com.naver.maps.geometry.LatLng> coords) 좌표열을 지정하는 생성자. -
Method Summary
Modifier and TypeMethodDescriptioncom.naver.maps.geometry.LatLngBounds
오버레이가 차지하는 영역을 반환합니다.int
getColor()
경로선의 색상을 반환합니다.List<com.naver.maps.geometry.LatLng>
좌표열을 반환합니다.int
전역 Z 인덱스를 반환합니다.int
경로선의 테두리 색상을 반환합니다.int
테두리의 두께를 반환합니다.int
지나온 경로선의 색상을 반환합니다.int
지나온 경로선의 테두리 색상을 반환합니다.패턴 이미지를 반환합니다.int
패턴 이미지의 간격을 반환합니다.double
진척률을-1
~1
로 반환합니다.int
getWidth()
두께를 반환합니다.boolean
경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 반환합니다.boolean
경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 반환합니다.boolean
경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 반환합니다.void
setColor
(int color) 경로선의 색상을 지정합니다.void
좌표열을 지정합니다.void
setGlobalZIndex
(int globalZIndex) 전역 Z 인덱스를 지정합니다.void
setHideCollidedCaptions
(boolean hide) 경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 지정합니다.void
setHideCollidedMarkers
(boolean hide) 경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 지정합니다.void
setHideCollidedSymbols
(boolean hide) 경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 지정합니다.void
오버레이를map
에 추가합니다.void
setOutlineColor
(int outlineColor) 경로선의 테두리 색상을 지정합니다.void
setOutlineWidth
(int width) 테두리의 두께를 지정합니다.void
setPassedColor
(int passedColor) 지나온 경로선의 색상을 지정합니다.void
setPassedOutlineColor
(int passedOutlineColor) 지나온 경로선의 테두리 색상을 지정합니다.void
setPatternImage
(OverlayImage pattern) 패턴 이미지를 지정합니다.void
setPatternInterval
(int interval) 패턴 이미지의 간격을 지정합니다.void
setProgress
(double progress) 진척률을-1
~1
로 지정합니다.void
setWidth
(int width) 두께를 지정합니다.Methods inherited from class com.naver.maps.map.overlay.Overlay
getMap, getMaxZoom, getMinZoom, getOnClickListener, getTag, getZIndex, isAdded, isMaxZoomInclusive, isMinZoomInclusive, isVisible, performClick, setMaxZoom, setMaxZoomInclusive, setMinZoom, setMinZoomInclusive, setOnClickListener, setTag, setVisible, setZIndex
-
Field Details
-
DEFAULT_GLOBAL_Z_INDEX
public static final int DEFAULT_GLOBAL_Z_INDEX기본 전역 Z 인덱스.- See Also:
-
-
Constructor Details
-
PathOverlay
public PathOverlay()기본 생성자. -
PathOverlay
- Parameters:
coords
- 좌표열.- Throws:
IllegalArgumentException
-coords
의 크기가2
미만일 경우 발생.
-
-
Method Details
-
getGlobalZIndex
public int getGlobalZIndex()전역 Z 인덱스를 반환합니다. 여러 오버레이가 화면에서 겹쳐지면 전역 Z 인덱스가 큰 오버레이가 작은 오버레이를 덮습니다. 또한 값이0
이상이면 오버레이가 심벌 위에,0
미만이면 심벌 아래에 그려집니다.
기본값은DEFAULT_GLOBAL_Z_INDEX
입니다.- Overrides:
getGlobalZIndex
in classOverlay
- Returns:
- 전역 Z 인덱스.
-
setGlobalZIndex
public void setGlobalZIndex(int globalZIndex) 전역 Z 인덱스를 지정합니다. 여러 오버레이가 화면에서 겹쳐지면 전역 Z 인덱스가 큰 오버레이가 작은 오버레이를 덮습니다. 또한 값이0
이상이면 오버레이가 심벌 위에,0
미만이면 심벌 아래에 그려집니다.
기본값은DEFAULT_GLOBAL_Z_INDEX
입니다.- Overrides:
setGlobalZIndex
in classOverlay
- Parameters:
globalZIndex
- 전역 Z 인덱스.
-
getCoords
좌표열을 반환합니다.- Returns:
- 좌표열.
-
setCoords
좌표열을 지정합니다. 만약coords
의 크기가2
미만이면IllegalArgumentException
이 발생합니다.coords
에null
이거나 유효하지 않은(LatLng.isValid()
가false
인) 좌표가 있다면Overlay.InvalidCoordinateException
이 발생합니다.- Parameters:
coords
- 좌표열.- Throws:
IllegalArgumentException
-coords
의 크기가2
미만일 경우 발생.Overlay.InvalidCoordinateException
-coords
에 유효하지 않은 좌표가 있을 경우 발생.
-
getBounds
@NonNull @UiThread public com.naver.maps.geometry.LatLngBounds getBounds()오버레이가 차지하는 영역을 반환합니다.setCoords(List)
로 지정한 좌표열의 영역과 동일합니다.
기본값은 빈(LatLngBounds.isEmpty()
가true
인) 영역입니다.- Returns:
- 영역.
-
getProgress
@FloatRange(from=-1.0, to=1.0) @UiThread public double getProgress()진척률을-1
~1
로 반환합니다. 경로는 진척률을 기준으로 지나온 경로와 지나갈 경로로 구분됩니다. 지나온 경로에는passedColor
와passedOutlineColor
가 사용되고 지나갈 경로에는color
와outlineColor
가 사용됩니다.- 진척률을 양수로 지정하면 첫 좌표부터 진척률만큼 떨어진 지점까지의 선형은 지나온 경로로, 나머지는 지나갈 경로로 간주됩니다.
- 진척률을 음수로 지정하면 마지막 좌표부터 -진척률만큼 떨어진 지점까지의 선형은 지나온 경로로, 나머지는 지나갈 경로로 간주됩니다.
-
진척률을
0
으로 지정하면 모든 선형이 지나갈 경로로 간주됩니다.
0
입니다.- Returns:
- 진척률.
-
setProgress
@UiThread public void setProgress(@FloatRange(from=-1.0,to=1.0) double progress) 진척률을-1
~1
로 지정합니다. 경로는 진척률을 기준으로 지나온 경로와 지나갈 경로로 구분됩니다. 지나온 경로에는passedColor
와passedOutlineColor
가 사용되고 지나갈 경로에는color
와outlineColor
가 사용됩니다.- 진척률을 양수로 지정하면 첫 좌표부터 진척률만큼 떨어진 지점까지의 선형은 지나온 경로로, 나머지는 지나갈 경로로 간주됩니다.
- 진척률을 음수로 지정하면 마지막 좌표부터 -진척률만큼 떨어진 지점까지의 선형은 지나온 경로로, 나머지는 지나갈 경로로 간주됩니다.
-
진척률을
0
으로 지정하면 모든 선형이 지나갈 경로로 간주됩니다.
0
입니다.- Parameters:
progress
- 진척률.
-
getWidth
@Px @UiThread public int getWidth()두께를 반환합니다.
기본값은10
입니다.- Returns:
- 두께. 픽셀 단위.
-
setWidth
@UiThread public void setWidth(@Px int width) 두께를 지정합니다.
기본값은10
입니다.- Parameters:
width
- 두께. 픽셀 단위.
-
getOutlineWidth
@Px @UiThread public int getOutlineWidth()테두리의 두께를 반환합니다.0
일 경우 테두리가 그려지지 않습니다.
기본값은2
입니다.- Returns:
- 두께. 픽셀 단위.
-
setOutlineWidth
@UiThread public void setOutlineWidth(@Px int width) 테두리의 두께를 지정합니다.0
일 경우 테두리가 그려지지 않습니다.
기본값은2
입니다.- Parameters:
width
- 두께. 픽셀 단위.
-
getColor
@ColorInt @UiThread public int getColor()경로선의 색상을 반환합니다. 경로선의 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다. 색상이 투명할 경우 테두리도 그려지지 않습니다.
기본값은Color.WHITE
입니다.- Returns:
- 색상.
-
setColor
@UiThread public void setColor(@ColorInt int color) 경로선의 색상을 지정합니다. 경로선의 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다. 색상이 투명할 경우 테두리도 그려지지 않습니다.
기본값은Color.WHITE
입니다.- Parameters:
color
- 색상.
-
getOutlineColor
@ColorInt @UiThread public int getOutlineColor()경로선의 테두리 색상을 반환합니다. 경로선의 테두리 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다.
기본값은Color.BLACK
입니다.- Returns:
- 색상.
-
setOutlineColor
@UiThread public void setOutlineColor(@ColorInt int outlineColor) 경로선의 테두리 색상을 지정합니다. 경로선의 테두리 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다.
기본값은Color.BLACK
입니다.- Parameters:
outlineColor
- 색상.
-
getPassedColor
@ColorInt @UiThread public int getPassedColor()지나온 경로선의 색상을 반환합니다. 지나온 경로선의 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다.
기본값은Color.WHITE
입니다.- Returns:
- 색상.
-
setPassedColor
@UiThread public void setPassedColor(@ColorInt int passedColor) 지나온 경로선의 색상을 지정합니다. 지나온 경로선의 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다. 색상이 투명할 경우 테두리도 그려지지 않습니다.
기본값은Color.WHITE
입니다.- Parameters:
passedColor
- 색상.
-
getPassedOutlineColor
@ColorInt @UiThread public int getPassedOutlineColor()지나온 경로선의 테두리 색상을 반환합니다. 지나온 경로선의 테두리 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다. 색상이 투명할 경우 테두리도 그려지지 않습니다.
기본값은Color.BLACK
입니다.- Returns:
- 색상.
-
setPassedOutlineColor
@UiThread public void setPassedOutlineColor(@ColorInt int passedOutlineColor) 지나온 경로선의 테두리 색상을 지정합니다. 지나온 경로선의 테두리 색상은 반투명일 수 없으며, 완전히 투명하거나 완전히 불투명해야 합니다. 색상의 알파가0
이 아닌 경우 완전히 불투명한 것으로 간주됩니다.
기본값은Color.BLACK
입니다.- Parameters:
passedOutlineColor
- 색상.
-
getPatternImage
패턴 이미지를 반환합니다. 패턴 이미지의 크기가 경로선의 두께보다 클 경우 경로선의 두께에 맞게 축소됩니다.null
일 경우 패턴을 표시하지 않습니다.
기본값은null
입니다.- Returns:
- 패턴 이미지.
-
getPatternInterval
@Px @UiThread public int getPatternInterval()패턴 이미지의 간격을 반환합니다.0
일 경우 패턴을 표시하지 않습니다.
기본값은50
입니다.- Returns:
- 간격. 픽셀 단위.
-
setPatternInterval
@UiThread public void setPatternInterval(@Px int interval) 패턴 이미지의 간격을 지정합니다.0
일 경우 패턴을 표시하지 않습니다.
기본값은50
입니다.- Parameters:
interval
- 간격. 픽셀 단위.
-
isHideCollidedSymbols
@UiThread public boolean isHideCollidedSymbols()경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 반환합니다.
기본값은false
입니다.- Returns:
- 지도 심벌을 숨길 경우
true
, 그렇지 않을 경우false
.
-
setHideCollidedSymbols
@UiThread public void setHideCollidedSymbols(boolean hide) 경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 지정합니다.
기본값은false
입니다.- Parameters:
hide
- 지도 심벌을 숨길 경우true
, 그렇지 않을 경우false
.
-
isHideCollidedMarkers
@UiThread public boolean isHideCollidedMarkers()경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 반환합니다.
기본값은false
입니다.- Returns:
- 마커를 숨길 경우
true
, 그렇지 않을 경우false
.
-
setHideCollidedMarkers
@UiThread public void setHideCollidedMarkers(boolean hide) 경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 지정합니다.
기본값은false
입니다.- Parameters:
hide
- 마커를 숨길 경우true
, 그렇지 않을 경우false
.
-
isHideCollidedCaptions
@UiThread public boolean isHideCollidedCaptions()경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 반환합니다.
기본값은false
입니다.- Returns:
- 마커의 캡션을 숨길 경우
true
, 그렇지 않을 경우false
.
-
setHideCollidedCaptions
@UiThread public void setHideCollidedCaptions(boolean hide) 경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 지정합니다.
기본값은false
입니다.- Parameters:
hide
- 마커의 캡션을 숨길 경우true
, 그렇지 않을 경우false
.