LodPoi
open class LodPoi : NSObject, Label
지도상에 대량의 Poi를 그리기 위한 클래스
Lod 처리를 통해 성능저하를 줄이면서 대량의 Poi를 표시하고자 할 때 사용한다.
LodPoi를 추가하기 위해서는 먼저 KakaoMap에 LodLabelLayer를 추가한 뒤, 해당 Layer에 LodPoi를 추가할 수 있다.
show, hide, style 변경이 가능하며, Poi마다 개별 badge를 추가할 수 있다.
레벨별로 충돌검사를 하는 LOD 처리가 들어가므로, 이동 및 회전에 대한 interface는 존재하지 않는다.
LodPoi는 사용자가 직접 생성할 수 없으며, PoiOptions class를 이용하여 LodLabelLayer에 추가하면 해당 Object를 얻을 수 있다.
-
LodPoi를 보여준다.
Declaration
Swift
public func show()
-
LodPoi를 표시하고, 해당 위치로 이동한다.
Declaration
Swift
@objc public func showWithAutoMove(callback: (() -> Void)? = nil)
Parameters
callback
LodPoi위치로 카메라 이동이 끝났을 때, 호출할 callback ( optional)
-
LodPoi를 숨긴다.
Declaration
Swift
public func hide()
-
LodPoi의 Style을 바꾼다.
LabelManager에 등록한 PoiStyle의 키를 이용하여 Style을 변경한다.
Declaration
Swift
public func changeStyle(styleID: String, enableTransition: Bool = false)
Parameters
styleID
변경할 Style의 ID
enableTransition
변경시 trasition 효과 적용 여부
-
LodPoi의 text와 style을 변경한다.
LodPoi의 text와 style을 바꿀 때 사용한다.
Declaration
Swift
@objc public func changeTextAndStyle(texts: [PoiText], styleID: String, enableTransition: Bool = false)
Parameters
texts
바꾸고자 하는 LodPoi의 text
styleID
변경할 styleID.
enableTransition
Style 변경시 trasition 효과 적용 여부
-
개별 Poi에 Badge를 추가한다.
같은 id의 badge가 이미 있는 경우 추가되거나 override 되지 않는다.
See also
PoiBadgeDeclaration
Swift
@objc public func addBadge(_ badge: PoiBadge)
Parameters
badge
추가할 Poi Badge
-
개별 Poi에 여러개의 Badge를 추가한다.
같은 id의 badge가 이미 있는 경우 추가되거나 override 되지 않는다.
See also
PoiBadgeDeclaration
Swift
@objc public func addBadges(_ badges: [PoiBadge])
Parameters
badges
추가할 Poi Badge 배열
-
Poi에 추가된 뱃지를 지운다.
Poi에 등록된 Badge ID를 이용하여 지운다.
Note
PoiStyle에 추가되어있는 In-Style Badge는 스타일에 종속되므로, 해당 함수로 지울 수 없다.Declaration
Swift
@objc public func removeBadge(badgeID: String)
Parameters
badgeID
지우고자하는 badge의 ID
-
Poi에 등록된 Badge를 일괄 지운다.
Note
PoiStyle에 추가되어있는 In-Style Badge는 스타일에 종속되므로, 해당 함수를 호출해도 지워지지 않는다.Declaration
Swift
@objc public func removeAllBadge()
-
Poi에 등록되어있는 Badge를 보여준다.
Declaration
Swift
@objc public func showBadge(badgeID: String)
Parameters
badgeID
보여주고자 하는 badge의 ID
-
Poi에 등록되어있는 Badge들을 보여준다.
Declaration
Swift
@objc public func showBadges(badgeIDs: [String])
Parameters
badgeIDs
보여주고자 하는 badge의 ID 배열
-
Poi에 등록되어있는 Badge를 숨긴다.
Declaration
Swift
@objc public func hideBadge(badgeID: String)
Parameters
badgeID
숨기고자 하는 badge의 ID
-
Poi에 등록되어있는 Badge들을 숨긴다.
Declaration
Swift
@objc public func hideBadges(badgeIDs: [String])
Parameters
badgeIDs
숨기고자 하는 badge의 ID 배열
-
Poi의 In-Style badge를 보여준다.
LabelManager를 통해 등록된 PoiStyle에 종속되는 badge를 보여준다.
Declaration
Swift
@objc public func showStyleBadge(badgeID: String)
Parameters
badgeID
보여주고자 하는 In-Style badge의 ID
-
Poi의 In-Style badge를 모두 보여준다.
LabelManager를 통해 등록된 PoiStyle에 종속되는 모든 badge를 보여준다.
Declaration
Swift
@objc public func showAllStyleBadges()
-
Poi의 In-Style badge를 숨긴다.
LabelManager를 통해 등록된 PoiStyle에 종속되는 badge를 숨긴다.
Declaration
Swift
@objc public func hideStyleBadge(badgeID: String)
Parameters
badgeID
숨기고자 하는 In-Style badge의 ID
-
Poi의 In-Style badge를 모두 숨긴다.
LabelManager를 통해 등록된 PoiStyle에 종속되는 모든 badge를 숨긴다.
Declaration
Swift
@objc public func hideAllStyleBadges()
-
Poi 탭 이벤트 핸들러를 추가한다.
Declaration
Swift
open func addPoiTappedEventHandler<U>(target: U, handler: @escaping (U) -> (PoiInteractionEventParam) -> Void) -> DisposableEventHandler where U : AnyObject
Parameters
target
이벤트를 수신할 target Object
handler
이벤트를 수신할 method
Return Value
추가된 이벤트 핸들러
-
Poi가 속한 LayerID
Declaration
Swift
public var layerID: String { get }
-
Poi의 ID
Declaration
Swift
public var itemID: String { get }
-
LodPoi의 렌더링 우선순위
새로운 rank로 값을 assign 하면, 해당 LodPoi의 rank가 업데이트된다.
Declaration
Swift
@objc public var rank: Int { get set }
-
LodPoi의 Clickable 여부
clickable 여부를 새로 assign하면, LodPoi의 click여부가 업데이트된다.
Declaration
Swift
@objc public var clickable: Bool { get set }
-
LodPoi가 현재 뷰에 보여지고 있는지 여부
Declaration
Swift
public var isShow: Bool { get }
-
사용자 객체
Declaration
Swift
public var userObject: AnyObject? { get set }