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 Controls

  • 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 효과 적용 여부

Managing Badges

  • 개별 Poi에 Badge를 추가한다.

    같은 id의 badge가 이미 있는 경우 추가되거나 override 되지 않는다.

    See also

    PoiBadge

    Declaration

    Swift

    @objc
    public func addBadge(_ badge: PoiBadge)

    Parameters

    badge

    추가할 Poi Badge

  • 개별 Poi에 여러개의 Badge를 추가한다.

    같은 id의 badge가 이미 있는 경우 추가되거나 override 되지 않는다.

    See also

    PoiBadge

    Declaration

    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()

Event Handling

Properties

  • 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 }