LabelLayer

open class LabelLayer : NSObject, Layer

Label 종류(Poi, WaveText)를 관리하는 단위인 LabelLayer 클래스.

Poi, WaveText를 추가/삭제 등 관리할 수 있으며, 일종의 그룹처럼 관리가 가능하다.

사용자가 직접 객체를 생성할 수 없으며, LabelManager를 통해 객체를 간접적으로 생성할 수 있다.

Layer Controls

  • 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에 적용된다.

Poi Controls

  • 현재 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.

WaveText Controls

  • 현재 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]?

Properties

  • layer의 ID

    Declaration

    Swift

    public var layerID: String { get }
  • layer에 속한 Poi가 경쟁하는 방법을 지정한다.

    Layer의 우선순위(zOrder)에 따라 Poi끼리 겹쳐졌을 때, Poi가 표시될 정책을 지정한다.

    See also

    CompetitionType

    Declaration

    Swift

    @objc
    public internal(set) var competitionType: CompetitionType { get set }
  • Poi가 경쟁할 때, 경쟁을 하는 단위를 선택한다.

    See also

    CompetitionUnit

    Declaration

    Swift

    @objc
    public internal(set) var competitionUnit: CompetitionUnit { get set }
  • competitionType이 same일 경우, 경쟁을 하는 기준이 된다.

    See also

    OrderingType

    Declaration

    Swift

    @objc
    public internal(set) var orderType: OrderingType { get set }
  • layer의 렌더링 우선순위

    zOrder는 같은 LabelLayer타입끼리만 유효하며, 기본적으로 zOrder 값이 클수록 더 높은 우선권을 가진다.

    Declaration

    Swift

    public var zOrder: Int { get set }