LabelLayer
open class LabelLayer : NSObject, Layer
Label 종류(Poi, WaveText)를 관리하는 단위인 LabelLayer 클래스.
Poi, WaveText를 추가/삭제 등 관리할 수 있으며, 일종의 그룹처럼 관리가 가능하다.
사용자가 직접 객체를 생성할 수 없으며, LabelManager를 통해 객체를 간접적으로 생성할 수 있다.
-
LabelLayer의 visible 상태.
layer의 on/off 상태를 나타내며, layer에 속한 객체의 show/hide는 별도로 동작시켜야한다.
즉, layer의 visible이 true여도 layer에 속한 객체의 show를 호출해야 보이고, visible이 false라면 layer에 속한 객체는 화면에 표시되지 않는다.
Declaration
Swift
public var visible: Bool { get set }
-
현재 Layer에 있는 모든 item을 일괄적으로 지운다.
하나의 layer안에 Poi와 WaveText가 함께 추가가 가능하므로, 이 경우 clear를 호출게 되면 모든 Poi와 WaveText가 지워진다.
Declaration
Swift
@objc public func clearAllItems()
-
현재 Layer에 있는 Exit Transition 속성을 가진 Poi를 지운다.
Declaration
Swift
@objc public func clearAllExitTransitionPois()
-
현재 레이어의 clickable 속성을 지정한다.
Declaration
Swift
@objc public func setClickable(_ clickable: Bool)
Parameters
clickable
클릭 설정 여부. 해당 레이어에 속한 모든 Poi에 적용된다.
-
현재 Layer에 Poi를 추가한다.
하나의 레이어 안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할경우 nil을 리턴한다.
Declaration
Swift
@objc public func addPoi(option: PoiOptions, at position: MapPoint, callback: ((Poi?) -> Void)? = nil) -> Poi?
Parameters
option
생성할 Poi의 옵션
at
생성할 Poi의 위치
callback
Poi 생성이 완료되었을 때, 호출할 callback(optional)
Return Value
생성된 Poi 객체
-
현재 Layer에 같은 옵션을 가지는 다수의 Poi를 추가한다.
같은 옵션을 가지지만 위치만 다른 Poi를 생성할 경우 사용한다.
다수 생성을 위해 PoiOptions의 poiID는 무시되고 자동 생성된다.
Declaration
Swift
@objc public func addPois(option: PoiOptions, at positions: [MapPoint], callback: (([Poi]?) -> Void)? = nil) -> [Poi]?
Parameters
option
생성할 Poi의 옵션
at
생성할 Poi의 위치 배열
callback
Poi 생성이 완료되었을 때, 호출할 callback(optional)
Return Value
생성된 Poi 객체
-
현재 Layer에 다른 옵션을 가지는 다수의 Poi를 추가한다.
Poi별로 다른 옵션을 가지는 경우 사용한다.
하나의 레이어 안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할경우 기존 객체를 리턴한다.
Warning
여러개의 옵션으로 여러개의 poi를 생성하는 경우, option과 position의 pair가 일치해야한다. 즉, position하나당 option 하나의 짝을 맞추어야 한다.Declaration
Swift
@objc public func addPois(options: [PoiOptions], at positions: [MapPoint], callback: (([Poi]?) -> Void)? = nil ) -> [Poi]?
Parameters
options
생성할 Poi의 옵션 배열
at
Poi가 표시될 위치. option과 pair를 맞추어야 한다.
callback
Poi 생성이 완료되었을 때, 호출할 callback(optional)
Return Value
생성된 Poi 객체배열
-
현재 Layer에서 특정 Poi를 지운다.
Declaration
Swift
@objc public func removePoi(poiID: String, callback: (() -> Void)? = nil)
Parameters
poiID
Layer에서 제거할 Poi Id
callback
Poi 제거가 완료되었을 때, 호출할 callback(optional)
-
현재 Layer에서 여러개의 Poi를 지운다.
Declaration
Swift
@objc public func removePois(poiIDs: [String], callback: (() -> Void)? = nil)
Parameters
poiIDs
Layer에서 제거할 Poi Id 배열
callback
Poi 제거가 완료되었을 때, 호출할 callback(optional)
-
현재 Layer에 속해있는 Poi를 모두 보여준다.
Declaration
Swift
@objc public func showAllPois()
-
현재 Layer에 속해있는 Poi를 모두 숨긴다.
Declaration
Swift
@objc public func hideAllPois()
-
현재 Layer에 속한 특정 Poi를 보여준다.
Declaration
Swift
@objc public func showPois(poiIDs: [String])
Parameters
poiIDs
보여줄 Poi ID 배열
-
현재 Layer에 속한 특정 Poi를 숨긴다.
Declaration
Swift
@objc public func hidePois(poiIDs: [String])
Parameters
poiIDs
숨길 Poi ID 배열
-
현재 Layer에 속한 Poi를 가져온다.
Declaration
Swift
@objc public func getPoi(poiID: String) -> Poi?
Parameters
poiID
가져올 Poi ID
Return Value
ID에 해당하는 Poi 객체, 없을경우 ni.
-
현재 Layer에 속한 Poi들을 가져온다.
Declaration
Swift
@objc public func getPois(poiIDs: [String]) -> [Poi]?
Parameters
poiIDs
가져올 Poi ID
Return Value
ID에 해당하는 Poi 객체 배열. 없을경우 ni.
-
현재 Layer에 속한 모든 Poi를 가져온다.
Declaration
Swift
@objc public func getAllPois() -> [Poi]?
Return Value
레이어에 속한 모든 Poi.
-
현재 Layer에 WaveText를 추가한다.
하나의 레이어 안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할경우 nil을 리턴한다.
Declaration
Swift
@objc public func addWaveText(_ options: WaveTextOptions, callback: ((WaveText?) -> Void)? = nil) -> WaveText?
Parameters
options
생성할 WaveText의 option
callback
WaveText 제거가 완료되었을 때, 호출할 callback(optional)
Return Value
생성한 waveText 객체
-
현재 Layer에 속한 특정 WaveText를 지운다.
Declaration
Swift
@objc public func removeWaveText(waveTextID: String, callback: (() -> Void)? = nil)
Parameters
waveTextID
지우고자 하는 WaveText의 ID
callback
WaveText 제거가 완료되었을 때, 호출할 callback(optional)
-
현재 Layer에 속한 여러개의 특정 WaveText를 지운다.
Declaration
Swift
@objc public func removeWaveTexts(waveTextIDs: [String], callback: (() -> Void)? = nil)
Parameters
waveTextIDs
지우고자 하는 WaveText의 ID 배열
callback
WaveText 제거가 모두 완료되었을 때, 호출할 callback(optional)
-
현재 Layer에 속한 모든 WaveText를 표시한다.
Declaration
Swift
@objc public func showAllWaveTexts()
-
현재 Layer에 속한 모든 WaveText를 숨긴다.
Declaration
Swift
@objc public func hideAllWaveTexts()
-
현재 Layer에 속한 특정 WaveText를 보여준다.
Declaration
Swift
@objc public func showWaveTexts(waveTextIDs: [String])
Parameters
waveTextIDs
보여줄 WaveText ID 배열
-
현재 Layer에 속한 특정 WaveText를 숨긴다.
Declaration
Swift
@objc public func hideWaveTexts(waveTextIDs: [String])
Parameters
waveTextIDs
숨길 WaveText ID 배열
-
현재 Layer에 속한 WaveText를 가져온다.
Declaration
Swift
@objc public func getWaveText(waveTextID: String) -> WaveText?
Parameters
waveTextID
가져올 WaveText ID
Return Value
ID에 해당하는 WaveText객체, 없을경우 ni.
-
현재 Layer에 속한 여러개의 WaveText를 가져온다.
Declaration
Swift
@objc public func getWaveTexts(waveTextIDs: [String]) -> [WaveText]?
Parameters
waveTextIDs
가져올 WaveText ID배열
Return Value
ID에 해당하는 WaveText객체 배열, 없을경우 ni.
-
현재 Layer에 속한 모든 waveText를 가져온다.
Declaration
Swift
@objc public func getAllWaveTexts() -> [WaveText]?
-
layer의 ID
Declaration
Swift
public var layerID: String { get }
-
layer에 속한 Poi가 경쟁하는 방법을 지정한다.
Layer의 우선순위(zOrder)에 따라 Poi끼리 겹쳐졌을 때, Poi가 표시될 정책을 지정한다.
See also
CompetitionTypeDeclaration
Swift
@objc public internal(set) var competitionType: CompetitionType { get set }
-
Poi가 경쟁할 때, 경쟁을 하는 단위를 선택한다.
See also
CompetitionUnitDeclaration
Swift
@objc public internal(set) var competitionUnit: CompetitionUnit { get set }
-
competitionType이 same일 경우, 경쟁을 하는 기준이 된다.
See also
OrderingTypeDeclaration
Swift
@objc public internal(set) var orderType: OrderingType { get set }
-
layer의 렌더링 우선순위
zOrder는 같은 LabelLayer타입끼리만 유효하며, 기본적으로 zOrder 값이 클수록 더 높은 우선권을 가진다.
Declaration
Swift
public var zOrder: Int { get set }