ShapeLayer

open class ShapeLayer : NSObject, Layer

Shape를 관리하는 단위인 ShapeLayer 클래스.

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

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

ShapeLayer Controls

  • ShapeLayer의 visible 상태.

    layer의 on/off 상태를 나타내며, layer에 속한 객체의 show/hide는 별도로 동작시켜야한다.

    즉, layer의 visible이 true여도 layer에 속한 객체의 show를 호출해야 보이고, visible이 false라면 layer에 속한 객체는 화면에 표시되지 않는다.

    Declaration

    Swift

    public var visible: Bool { get set }
  • 현재 레이어에 속한 모든 PolygonShape, MapPolygonShape를 표시한다.

    Declaration

    Swift

    @objc
    public func showAllPolygonShapes()
  • 현재 레이어에 속한 모든 PolygonShape, MapPolygonShape를 숨긴다.

    Declaration

    Swift

    @objc
    public func hideAllPolygonShapes()
  • 현재 레이어에 속한 모든 PolylineShape, MapPolylineShape를 표시한다.

    Declaration

    Swift

    @objc
    public func showAllPolylineShapes()
  • 현재 레이어에 속한 모든 PolylineShape, MapPolylineShape를 숨긴다..

    Declaration

    Swift

    @objc
    public func hideAllPolylineShapes()
  • 현재 레이어에 속한 모든 Shape를 표시한다.

    Declaration

    Swift

    @objc
    public func showAllShapes()
  • 현재 레이어에 속한 모든 Shape를 숨긴다.

    Declaration

    Swift

    @objc
    public func hideAllShapes()
  • 현재 layer에 있는 모든 item을 일괄적으로 지운다.

    Declaration

    Swift

    @objc
    public func clearAllShapes()

MapPolygonShape Controls

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

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

    Declaration

    Swift

    @objc
    public func addMapPolygonShape(_ shapeOptions: MapPolygonShapeOptions, callback: ((MapPolygonShape?) -> Void)? = nil) -> MapPolygonShape?

    Parameters

    shapeOptions

    생성할 MapPolygonShape 옵션

    callback

    MapPolygonShape객체가 생성이 완료됐을 때 호출할 콜백함수(optional)

    Return Value

    생성된 MapPolygonShape 객체

  • 현재 Layer에 다수의 MapPolygonShape를 추가한다.

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

    Declaration

    Swift

    @objc
    public func addMapPolygonShapes(_ shapeOptions: [MapPolygonShapeOptions], callback: (([MapPolygonShape]?) -> Void)? = nil) -> [MapPolygonShape]?

    Parameters

    shapeOptions

    생성할 MapPolygonShape 옵션 배열

    callback

    생성한 다수의 MapPolygonShape가 모두 생성이 완료되었을 때, 호출할 콜백함수(optional)

    Return Value

    생성된 MapPolygonShape 객체 배열

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

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 MapPolygonShape Id

    callback

    Layer에서 해당 Shape제거가 완료되었을 때, 호출할 콜백함수(optional)

  • 현재 Layer에서 다수의 MapPolygonShape를 지운다.

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 MapPolygonShape Id 배열

    callback

    Layer에서 id에 해당하는 모든 shape제거가 완료되었을 때, 호출할 콜백함수(optional)

  • 현재 Layer에 속한 특정 MapPolygonShape를 보여준다.

    Declaration

    Swift

    @objc
    public func showMapPolygonShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    보여줄 MapPolygonShape ID 배열

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

    Declaration

    Swift

    @objc
    public func hideMapPolygonShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    숨길 MapPolygonShape ID 배열

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

    Declaration

    Swift

    @objc
    public func getMapPolygonShape(shapeID: String) -> MapPolygonShape?

    Parameters

    shapeID

    가져올 MapPolygonShape ID

    Return Value

    ID에 해당하는 MapPolygonShape 객체, 없을경우 nil.

  • 현재 Layer에 속한 다수의 MapPolygonShape를 가져온다.

    Declaration

    Swift

    @objc
    public func getMapPolygonShapes(shapeIDs: [String]) -> [MapPolygonShape]?

    Parameters

    shapeIDs

    가져올 MapPolygonShape ID 배열

    Return Value

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

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

    Declaration

    Swift

    @objc
    public func getAllMapPolygonShapes() -> [MapPolygonShape]?

    Return Value

    현재 Layer에 추가된 MapPolygonShape 배열

PolygonShape Controls

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

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

    Declaration

    Swift

    @objc
    public func addPolygonShape(_ shapeOptions: PolygonShapeOptions, callback: ((PolygonShape?) -> Void)? = nil) -> PolygonShape?

    Parameters

    shapeOptions

    생성할 PolygonShape 옵션

    callback

    PolygonShape객체가 생성이 완료됐을 때 호출할 콜백함수(optional)

    Return Value

    생성된 PolygonShape 객체

  • 현재 Layer에 다수의 PolygonShape를 추가한다.

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

    Declaration

    Swift

    @objc
    public func addPolygonShapes(_ shapeOptions: [PolygonShapeOptions], callback: (([PolygonShape]?) -> Void)? = nil) -> [PolygonShape]?

    Parameters

    shapeOptions

    생성할 PolygonShape 옵션 배열

    callback

    PolygonShape객체가 생성이 완료됐을 때 호출할 콜백함수(optional)

    Return Value

    생성된 Shape 객체 배열

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

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 PolygonShape Id

    callback

    Layer에서 해당 Shape제거가 완료되었을 때, 호출할 콜백함수(optional)

  • 현재 Layer에서 다수의 PolygonShape를 지운다.

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 PolygonShape Id 배열

    callback

    Layer에서 id에 해당하는 모든 shape제거가 완료되었을 때, 호출할 콜백함수(optional)

  • 현재 Layer에 속한 특정 PolygonShape를 보여준다.

    Declaration

    Swift

    @objc
    public func showPolygonShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    보여줄 PolygonShape ID 배열

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

    Declaration

    Swift

    @objc
    public func hidePolygonShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    숨길 PolygonShape ID 배열

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

    Declaration

    Swift

    @objc
    public func getPolygonShape(shapeID: String) -> PolygonShape?

    Parameters

    shapeID

    가져올 PolygonShape ID

    Return Value

    ID에 해당하는 PolygonShape 객체, 없을경우 nil.

  • 현재 Layer에 속한 다수의 PolygonShape를 가져온다.

    Declaration

    Swift

    @objc
    public func getPolygonShapes(shapeIDs: [String]) -> [PolygonShape]?

    Parameters

    shapeIDs

    가져올 PolygonShape ID 배열

    Return Value

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

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

    Declaration

    Swift

    @objc
    public func getAllPolygonShapes() -> [PolygonShape]?

    Return Value

    현재 Layer에 추가된 PolygonShape 배열

MapPolylineShape Controls

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

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

    Declaration

    Swift

    @objc
    public func addMapPolylineShape(_ shapeOptions: MapPolylineShapeOptions, callback: ((MapPolylineShape?) -> Void)? = nil) -> MapPolylineShape?

    Parameters

    shapeOptions

    생성할 MapPolylineShape 옵션

    callback

    생성한 MapPolylineShape 생성이 완료되었을 때, 호출할 callback(optional)

    Return Value

    생성된 MapPolylineShape 객체

  • 현재 Layer에 다수의 MapPolylineShape를 추가한다.

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

    Declaration

    Swift

    @objc
    public func addMapPolylineShapes(_ shapeOptions: [MapPolylineShapeOptions], callback: (([MapPolylineShape]?) -> Void)? = nil) -> [MapPolylineShape]?

    Parameters

    shapeOptions

    생성할 MapPolylineShape 옵션

    callback

    생성한 MapPolylineShape 생성이 완료되었을 때, 호출할 callback(optional)

    Return Value

    생성된 MapPolylineShape객체 배열

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

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 MapPolylineShape ID

    callback

    Layer에서 지정한 MapPolylineShape가 지워졌을 때, 호출할 callback(optional)

  • 현재 Layer에서 다수의 MapPolylineShape를 지운다.

    Declaration

    Swift

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

    Parameters

    shapeIDs

    Layer에서 제거할 MapPolylineShape ID 배열

    callback

    Layer에서 지정한 MapPolylineShape가 모두 지워졌을 때, 호출할 callback(optional)

  • 현재 Layer에 속한 특정 MapPolylineShape를 보여준다.

    Declaration

    Swift

    @objc
    public func showMapPolylineShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    보여줄 MapPolylineShape ID 배열

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

    Declaration

    Swift

    @objc
    public func hideMapPolylineShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    숨길 MapPolylineShape ID 배열

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

    Declaration

    Swift

    @objc
    public func getMapPolylineShape(shapeID: String) -> MapPolylineShape?

    Parameters

    shapeIDs

    가져올 MapPolylineShape

    Return Value

    ID에 해당하는 MapPolylineShape 객체. 없을 경우 nil

  • 현재 Layer에 속한 다수의 MapPolylineShape를 가져온다.

    Declaration

    Swift

    @objc
    public func getMapPolylineShapes(shapeIDs: [String]) -> [MapPolylineShape]?

    Parameters

    shapeIDs

    가져올 MapPolylineShape ID

    Return Value

    ID에 해당하는 MapPolylineShape 객체. 없을 경우 nil

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

    Declaration

    Swift

    @objc
    public func getAllMapPolylineShapes() -> [MapPolylineShape]?

    Return Value

    현재 Layer에 추가되어있는 모든 MapPolylineShape 객체 배열

PolylineShape Controls

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

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

    Declaration

    Swift

    @objc
    public func addPolylineShape(_ shapeOptions: PolylineShapeOptions, callback: ((PolylineShape?) -> Void)? = nil) -> PolylineShape?

    Parameters

    shapeOptions

    생성할 PolylineShape 옵션

    callback

    생성한 MapPolylineShape 생성이 완료되었을 때, 호출할 callback(optional)

    Return Value

    생성된 PolylineShape 객체

  • 현재 Layer에 다수의 PolylineShape를 추가한다.

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

    Declaration

    Swift

    @objc
    public func addPolylineShapes(_ shapeOptions: [PolylineShapeOptions], callback: (([PolylineShape]?) -> Void)? = nil) -> [PolylineShape]?

    Parameters

    shapeOptions

    생성할 PolylineShape 옵션

    callback

    생성한 MapPolylineShape 생성이 완료되었을 때, 호출할 callback(optional)

    Return Value

    생성된 PolylineShape 객체 배열

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

    Declaration

    Swift

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

    Parameters

    shapeID

    Layer에서 제거할 PolylineShape ID

  • 현재 Layer에서 다수의 PolylineShape를 지운다.

    Declaration

    Swift

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

    Parameters

    shapeIDs

    Layer에서 제거할 PolylineShape ID 배열

    callback

    Layer에서 지정한 PolylineShape가 모두 지워졌을 때, 호출할 callback(optional)

  • 현재 Layer에 속한 특정 PolylineShape를 보여준다.

    Declaration

    Swift

    @objc
    public func showPolylineShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    보여줄 PolylineShape ID 배열

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

    Declaration

    Swift

    @objc
    public func hidePolylineShapes(shapeIDs: [String])

    Parameters

    shapeIDs

    숨길 PolylineShape ID 배열

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

    Declaration

    Swift

    @objc
    public func getPolylineShape(shapeID: String) -> PolylineShape?

    Parameters

    shapeIDs

    가져올 PolylineShapeID

    Return Value

    ID에 해당하는 PolylineShape 객체. 없을 경우 nil

  • 현재 Layer에 속한 다수의 PolylineShape를 가져온다.

    Declaration

    Swift

    @objc
    public func getPolylineShapes(shapeIDs: [String]) -> [PolylineShape]?

    Parameters

    shapeIDs

    가져올 PolylineShapeID

    Return Value

    ID에 해당하는 PolylineShape 객체. 없을 경우 nil

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

    Declaration

    Swift

    @objc
    public func getAllPolylineShapes() -> [PolylineShape]

    Return Value

    현재 Layer에 추가되어있는 모든 PolylineShape 객체 배열

Properties

  • ShapeLayer의 ID

    Declaration

    Swift

    public var layerID: String { get }
  • ShapeLayer의 렌더링 우선순위.

    높은 zOrder의 Layer에 속한 Shape가 더 위에 그려지며, ShapeLayer type끼리만 유효하다.

    즉, zOrder = 0 인 ShapeLayer에 속한 Shape는 zOrder = 1 인 ShapeLayer에 속한 Shape보다 아래에 그려진다.

    Declaration

    Swift

    public internal(set) var zOrder: Int { get set }