GraphicMap

Avatar of 陳力維.
Avatar of 陳力維.

GraphicMap

技術研發部副課長
Kaohsiung City, Taiwan

圖形化編輯器

https://github.com/hakama99/GraphiciMap


  • 1.提供產生基本物件(可擴充)
  • 2.Zone可放大縮小移動,Device僅可移動
  • 3.選擇Zone時無法移動地圖,避免縮放導致操作困難
  • 4.提供儲存及讀檔,座標為正中央(0,0),x向右遞增,y向下遞增


測試範例:

createmap

產生自定義大小地圖


createdesample

產生各種基本物件,目前有

  • Zone
  • 圓形+編輯器
  • 方形+編輯器
  • 圓型
  • 方型
  • label標籤
  • Device(目前僅圖片不同,可自定義)
  • Light
  • Sensor
  • Gateway
  • Beacon


createdeviceinzone

產生Device放進Zone裏面,會計算目前內部裝置相對位置顯示 要操作zone內的裝置,應另外產生地圖(當成zone),產生內部裝置物件在地圖上


zoomin,zoomout

放大縮小


cleanmap

清空地圖


saveData

儲存物件名稱位置


loadData

讀取資料產生物件


Protocol

//按下物件回傳
@objc func OnItemClick(item:GraphicBaseAbstract)
//物件拖拉回傳
@objc func OnItemDrag(item:GraphicBaseAbstract,recognizer:UIPanGestureRecognizer)
//控制器按下回傳
@objc func OnEditorClick(item:GraphicBaseAbstract)
//控制器開關回傳
@objc func OnEditorPowerClick(item:GraphicBaseAbstract,isOn:Bool)


Class Diagram

GraphicBaseAbstract -> GraphicBaseZone -> 實作Zone
                    -> GraphicBaseDevice -> 實作Device
                
GraphicBaseEditorView -> 實作控制視窗
圖形化編輯器雛形,提供建立容器及裝置,以及排列好後儲存及讀取功能
Avatar of the user.
請先登入再留言。

發布時間: 2021年6月28日
51
6
0

工具

swift
Swift

editor
編輯器

分享