ShapeLayer
open class ShapeLayer : NSObject, Layer
Shape를 관리하는 단위인 ShapeLayer 클래스.
Shape를 추가/삭제 등 관리할 수 있으며, 일종의 그룹처럼 관리가 가능하다.
사용자가 직접 객체를 생성할 수 없으며, LabelManager를 통해 객체를 간접적으로 생성할 수 있다.
-
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()
-
현재 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 배열
-
현재 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 배열
-
현재 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 객체 배열
-
현재 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 객체 배열
-
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 }