LodLabelLayer

open class LodLabelLayer : NSObject, Layer

대량의 Poi( ex. 즐겨찾기 )를 관리하는 단위인 LodLabelLayer 클래스

대량의 Poi를 추가할땐 LabelLayer가 아닌 LodLabelLayer를 이용하여 경쟁처리를 하면 빠르게 Poi를 보여줄 수 있다.

LodLabelLayer에 추가된 LodPoi는 일반 Poi객체와는 다르게 이동/회전에 대한 인터페이스가 존재하지 않는다.

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

Layer Controls

  • LodLabelLayer의 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을 일괄적으로 지운다.

    Declaration

    Swift

    @objc
    public func clearAllItems()
  • 현재 Layer에 있는 Exit Transition 속성을 가진 LodPoi를 지운다.

    Declaration

    Swift

    @objc
    public func clearAllExitTransitionLodPois()
  • 현재 레이어의 clickable 속성을 지정한다.

    Declaration

    Swift

    @objc
    public func setClickable(_ clickable: Bool)

    Parameters

    clickable

    클릭 설정 여부. 해당 레이어에 속한 모든 Poi에 적용된다.

LodPoi Controls

  • 현재 Layer에 LodPoi를 추가한다.

    하나의 레이어 안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할 경우 nil을 리턴한다.

    Declaration

    Swift

    @objc
    public func addLodPoi(option: PoiOptions, at position: MapPoint, callback: ((LodPoi?) -> Void)? = nil) -> LodPoi?

    Parameters

    option

    생성할 LodPoi의 옵션

    at

    생성할 LodPoi의 위치

    callback

    LodPoi 생성이 완료되고나면 호출할 callback(optional)

    Return Value

    생성된 LodPoi 객체

  • 현재 Layer에 같은 옵션을 가지는 다수의 LodPoi를 추가한다.

    같은 옵션을 가지지만 위치만 다른 LodPoi를 생성할 경우 사용한다.

    다수 생성을 위해 PoiOptions의 poiID는 무시되고 자동 생성된다.

    Declaration

    Swift

    @objc
    public func addLodPois(option: PoiOptions, at positions: [MapPoint], callback: (([LodPoi]?) -> Void)? = nil) -> [LodPoi]?

    Parameters

    option

    생성할 LodPoi의 옵션

    at

    생성할 LodPoi의 위치 배열

    callback

    LodPoi 생성이 모두 완료되고나면 호출할 callback (optional)

    Return Value

    생성된 LodPoi 객체

  • 현재 Layer에 다른 옵션을 가지는 다수의 LodPoi를 추가한다.

    LodPoi별로 다른 옵션을 가지는 경우 사용한다.

    하나의 레이어 안에 중복 ID로 추가할 수 없으며, 기존에 같은 아이디가 존재할경우 기존 객체를 리턴한다.

    Warning

    여러개의 옵션으로 여러개의 poi를 생성하는 경우, option과 position의 pair가 일치해야한다. 즉, position하나당 option 하나의 짝을 맞추어야 한다.

    Declaration

    Swift

    @objc
    public func addLodPois(options: [PoiOptions],
                           at positions: [MapPoint],
                           callback: (([LodPoi]?) -> Void)? = nil ) -> [LodPoi]?

    Parameters

    options

    생성할 LodPoi의 옵션 배열

    at

    생성할 LodPoi 위치

    callback

    LodPoi 생성이 모두 완료되고나면 호출할 callback (optional)

    Return Value

    생성된 LodPoi 객체배열

  • 현재 Layer에서 특정 LodPoi를 지운다.

    Declaration

    Swift

    @objc
    public func removeLodPoi(poiID: String, callback: (() -> Void)? = nil)

    Parameters

    poiID

    LodLabelLayer에서 제거할 LodPoi Id

    callback

    해당 LodPoi 제거가 완료되면 호출할 callback(optional)

  • 현재 Layer에서 여러개의 LodPoi를 지운다.

    Declaration

    Swift

    @objc
    public func removeLodPois(poiIDs: [String], callback: (() -> Void)? = nil)

    Parameters

    poiIDs

    LodLabelLayer에서 제거할 LodPoi Id 배열

    callback

    해당 LodPoi 제거가 모두 완료되면 호출할 callback(optional)

  • 현재 Layer에 속해있는 LodPoi를 모두 보여준다.

    Declaration

    Swift

    @objc
    public func showAllLodPois()
  • 현재 Layer에 속해있는 모든 LodPoi를 숨긴다.

    Declaration

    Swift

    @objc
    public func hideAllLodPois()
  • 현재 Layer에 속한 특정 LodPoi를 보여준다.

    Declaration

    Swift

    @objc
    public func showLodPois(poiIDs: [String])

    Parameters

    poiIDs

    보여줄 LodPoi ID 배열

  • 현재 Layer에 속한 특정 LodPoi를 숨긴다.

    Declaration

    Swift

    @objc
    public func hideLodPois(poiIDs: [String])

    Parameters

    poiIDs

    숨길 LodPoi ID 배열

  • 현재 Layer에 속한 LodPoi를 가져온다.

    Declaration

    Swift

    @objc
    public func getLodPoi(poiID: String) -> LodPoi?

    Parameters

    poiID

    가져올 LodPoi ID

    Return Value

    ID에 해당하는 LodPoi 객체, 없을경우 ni.

  • 현재 Layer에 속한 여러개의 LodPoi를 가져온다.

    Declaration

    Swift

    @objc
    public func getLodPois(poiIDs: [String]) -> [LodPoi]?

    Parameters

    poiIDs

    가져올 LodPoi ID 배열

    Return Value

    ID에 해당하는 LodPoi 객체 배열, 없을경우 ni.

  • 현재 Layer에 속한 모든 LodPoi를 가져온다.

    Declaration

    Swift

    @objc
    public func getAllLodPois() -> [LodPoi]?

    Return Value

    현재 Layer에 속한 모든 LodPod.

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 }