LodLabelLayer
open class LodLabelLayer : NSObject, Layer
대량의 Poi( ex. 즐겨찾기 )를 관리하는 단위인 LodLabelLayer 클래스
대량의 Poi를 추가할땐 LabelLayer가 아닌 LodLabelLayer를 이용하여 경쟁처리를 하면 빠르게 Poi를 보여줄 수 있다.
LodLabelLayer에 추가된 LodPoi는 일반 Poi객체와는 다르게 이동/회전에 대한 인터페이스가 존재하지 않는다.
사용자가 직접 객체를 생성할 수 없으며, LabelManager를 통해 객체를 간접적으로 생성할 수 있다.
-
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에 적용된다.
-
현재 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.
-
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 }