- 1.提供產生基本物件(可擴充)
- 2.Zone可放大縮小移動,Device僅可移動
- 3.選擇Zone時無法移動地圖,避免縮放導致操作困難
- 4.提供儲存及讀檔,座標為正中央(0,0),x向右遞增,y向下遞增
產生自定義大小地圖
產生各種基本物件,目前有
-
區域物件
- 圓形+編輯器 GraphicCircleControlZone
- 方形+編輯器 GraphicSquareControlZone
- 圓型 GraphicCircleZone
- 方型 GraphicSquareZone
- label標籤 GraphicLabelZone
-
裝置(目前僅圖片不同,可自定義)
- GraphicLight
- GraphicSensor
- GraphicGateway
- GraphicBeacon
- GraphicDeviceSet
- GraphicStrip
- GraphicTriac
-
編輯視窗
- 裝置視窗 GraphicDeviceEditorView
- 區域視窗 GraphicZoneEditorView
產生Device放進Zone裏面,會計算目前內部裝置相對位置顯示 要操作zone內的裝置,應另外產生地圖(當成zone),產生內部裝置物件在地圖上
放大縮小
清空地圖
儲存物件名稱位置
讀取資料產生物件
//按下物件回傳
@objc func OnItemClick(item:GraphicBaseAbstract)
//物件拖拉回傳
@objc func OnItemDrag(item:GraphicBaseAbstract,recognizer:UIPanGestureRecognizer)
//物件縮放回傳
@objc func OnItemScale(item:GraphicBaseAbstract,recognizer:UIPanGestureRecognizer)
//控制器按下回傳
@objc func OnEditorClick(item:GraphicBaseAbstract)
//控制器開關回傳
@objc func OnEditorPowerClick(item:GraphicBaseAbstract,isOn:Bool)
GraphicBaseAbstract -> GraphicBaseZone -> 實作Zone
-> GraphicBaseDevice -> 實作Device
GraphicBaseEditorView -> 實作控制視窗