Package com.naver.maps.map.overlay
Class MultipartPathOverlay
java.lang.Object
com.naver.maps.map.overlay.Overlay
com.naver.maps.map.overlay.MultipartPathOverlay
- All Implemented Interfaces:
Pickable
경로선을 여러 파트로 나누어 각각 다른 색상을 부여할 수 있는 특수한
PathOverlay
. 다양한 색상으로 구성된
경로선을 나타내고자 할 경우 여러 개의 PathOverlay
를 사용하는 것보다 이 클래스를 사용하는 것이 효율적입니다.
MultipartPathOverlay
는 좌표열 파트의 목록와 색상 파트의 목록으로 구성되며, 0
번째 좌표열 파트에
0
번째 색상 파트의 색상이 적용됩니다. 따라서 좌표열 파트와 색상 파트의 크기가 동일해야 합니다.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
하나의 색상 파트를 나타내는 클래스.Nested classes/interfaces inherited from class com.naver.maps.map.overlay.Overlay
Overlay.InvalidBoundsException, Overlay.InvalidCoordinateException, Overlay.OnClickListener
-
Field Summary
-
Constructor Summary
ConstructorDescription기본 생성자.MultipartPathOverlay
(List<List<com.naver.maps.geometry.LatLng>> coordParts, List<MultipartPathOverlay.ColorPart> colorParts) 좌표열과 색상 파트를 지정하는 생성자. -
Method Summary
Modifier and TypeMethodDescriptioncom.naver.maps.geometry.LatLngBounds
오버레이가 차지하는 영역을 반환합니다.색상 파트의 목록을 반환합니다.좌표열 파트의 목록을 반환합니다.int
전역 Z 인덱스를 반환합니다.int
테두리의 두께를 반환합니다.패턴 이미지를 반환합니다.int
패턴 이미지의 간격을 반환합니다.double
진척률을-1
~1
로 반환합니다.int
getWidth()
두께를 반환합니다.boolean
경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 반환합니다.boolean
경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 반환합니다.boolean
경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 반환합니다.void
setColorParts
(List<MultipartPathOverlay.ColorPart> colorParts) 색상 파트의 목록을 지정합니다.void
setCoordParts
(List<List<com.naver.maps.geometry.LatLng>> coordParts) 좌표열 파트의 목록을 지정합니다.void
setGlobalZIndex
(int globalZIndex) 전역 Z 인덱스를 지정합니다.void
setHideCollidedCaptions
(boolean hide) 경로선과 마커의 캡션이 겹칠 경우 마커의 캡션을 숨길지 여부를 지정합니다.void
setHideCollidedMarkers
(boolean hide) 경로선과 마커가 겹칠 경우 마커를 숨길지 여부를 지정합니다.void
setHideCollidedSymbols
(boolean hide) 경로선과 지도 심벌이 겹칠 경우 지도 심벌을 숨길지 여부를 지정합니다.void
오버레이를map
에 추가합니다.void
setOutlineWidth
(int width) 테두리의 두께를 지정합니다.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
-
MultipartPathOverlay
public MultipartPathOverlay()기본 생성자. -
MultipartPathOverlay
public MultipartPathOverlay(@NonNull @Size(min=1L) List<List<com.naver.maps.geometry.LatLng>> coordParts, @NonNull @Size(min=1L) List<MultipartPathOverlay.ColorPart> colorParts) 좌표열과 색상 파트를 지정하는 생성자. 만약coordParts
의 크기가1
미만이거나 각 파트의 크기가2
미만이면, 혹은colorParts
의 크기가1
미만이면IllegalArgumentException
이 발생합니다.- Parameters:
coordParts
- 좌표열 파트의 목록.colorParts
- 색상 파트의 목록.- Throws:
IllegalArgumentException
-coordParts
의 크기가1
미만이거나 각 파트의 크기가2
미만, 혹은colorParts
의 크기가1
미만일 경우 발생.
-
-
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 인덱스.
-
getCoordParts
좌표열 파트의 목록을 반환합니다.- Returns:
- 좌표열 파트의 목록.
-
setCoordParts
@UiThread public void setCoordParts(@NonNull @Size(min=1L) List<List<com.naver.maps.geometry.LatLng>> coordParts) 좌표열 파트의 목록을 지정합니다. 만약coordParts
의 크기가1
미만이거나 각 파트의 크기가 2 미만이면IllegalArgumentException
이 발생합니다. 각 파트에null
이거나 유효하지 않은(LatLng.isValid()
가false
인) 좌표가 있다면Overlay.InvalidCoordinateException
이 발생합니다.- Parameters:
coordParts
- 좌표열 파트의 목록.- Throws:
IllegalArgumentException
-coordParts
의 크기가1
미만이거나 각 파트의 크기가 2 미만일 경우 발생.Overlay.InvalidCoordinateException
- 각 홀에 유효하지 않은 좌표가 있을 경우 발생.
-
getBounds
@NonNull @UiThread public com.naver.maps.geometry.LatLngBounds getBounds()오버레이가 차지하는 영역을 반환합니다.setCoordParts(List)
로 지정한 좌표열의 영역과 동일합니다.
기본값은 빈(LatLngBounds.isEmpty()
가true
인) 영역입니다.- Returns:
- 영역.
-
getColorParts
색상 파트의 목록을 반환합니다.- Returns:
- 색상 파트의 목록.
-
setColorParts
@UiThread public void setColorParts(@NonNull @Size(min=1L) List<MultipartPathOverlay.ColorPart> colorParts) - Parameters:
colorParts
- 색상 파트의 목록.- Throws:
IllegalArgumentException
-colorParts
의 크기가1
미만이거나null
인 파트가 있을 경우 발생.
-
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
- 두께. 픽셀 단위.
-
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
.