PIE.NET-SDK插件式二次開發文檔
一 PIE.Net開發環境部署
1. 開發環境部署
- 確保Win7系統已安裝SP1
- 安裝Visual Studio2013(支持VS2010/2012/2013/2015)
- 安裝PIESDK.exe二次開發包的A版本
2.【SDK】安裝後目錄說明
1) Bin>>開發包
2) Config>>配置文件
3) Data>>坐標系投影及數據映射表
4) Document>幫助文件
5) Language>>語言國際化
6) Res>>按鈕圖標及鼠標Cursor樣式
7) Sample>>實例文件
8) Style>>符號庫文件
9) Template>>制圖模板
檢驗PIEApplication.exe是否可用!
二 PIE.Net-SDK插件式開發步驟
1. 新建工程
1.1 新建項目
圖2-1:新建項目
圖2-2: 新建項目
註意項目框架選擇.NET Framework 4,按上圖紅色框選擇新建項目。
2. 項目屬性配置,保持與SDK開發包一致
2.1 程序應用平臺配置
圖2-3: 配置管理器
點擊下拉箭頭選擇配置管理器按鈕。
圖2-4: 配置管理器
圖2-5: 配置管理器
按如圖2-4、圖2-5所示,分別配置debug/release的活動解決方案平臺為x86;
2.2 應用程序目標框架及生成路徑配置
圖2-6: 項目屬性
圖2-7: 配置目標框架
如圖2-6、2-7所示,右鍵打開項目屬性,在【應用程序】選項卡中確定目標框架.Net Framework4,輸出類型為類庫。
圖2-8: 配置輸出路徑
3. 功能實現
3.1 添加項目引用
圖2-9: 添加引用
展開項目目錄樹,右鍵點擊【引用】選擇【添加引用】菜單項。
在彈出的引用管理器中 點擊【程序集】的【擴展】項下拉選擇。
圖2-10: 添加引用
瀏覽添加上圖紅色框選中的類庫,單擊確定即可。
註意:引用項可以根據自己開發的插件功能需求進行選擇。
3.2 以加載矢量數據為例新建Command命令
圖2-11: 新建類
圖2-12: 新建加載矢量命令
圖2-13: 代碼實現
通過重載OnCreate和OnClick,實現命令對象的創建,和事件裏具體內容的實現。
註意:Tool(工具插件):適用於與地圖或制圖組件有交互的插件,只需繼承自BaseTool(繼承自BaseCommand),根據功能需要可重寫OnMouseDown、OnMouseMove等方法,如:拉框放大、探針、畫多邊形等。
Command(命令插件):與地圖無交互,只需繼承自BaseCommand,重寫OnClick方法,如:全圖、居中放大、前一視圖等。彈出窗體的Command繼承至DesktopCommand,如空間量測工具,而這裏的加載矢量數據Command繼承至BaseCommand。
圖2-14:初始化
在構造函數裏初始化 界面按鈕的樣式:
m_Image為按鈕背景圖片;
註意:主程序首先通過配置文件查找圖片,若配置文件中的圖片不存在則使用工程中定義的圖片。
Caption 為按鈕名稱;
Name 為命令對象的名稱;
ToolTip 為按鈕提示內容;
Checked 表示初始化時按鈕是否為選中狀態;
Enabled 設置初始化時按鈕的可用性
圖2-15:創建插件對象
通過OnCreate方法傳遞hook對象,也就是MapControl對象,賦值給Command對象的m_Hook和m_HookHelper
圖2-16:實現加載矢量數據方法
通過以上步驟,矢量數據加載命令即創建完畢。
3.3 在主程序中調用插件
3.3.1 設置啟動宿主程序PIEApplication.exe
右鍵項目在調試選項中,選擇啟動外部程序,路徑為安裝路徑目錄下\Bin\PIEApplication.exe;
圖2-17: 啟動宿主程序PIEApplication.exe
3.3.2 配置文件設置
圖2-18:修改配置文件
在配置文件中新增Item項,設置控件類型(Type)為button,
library為插件類名,即PIE.ControlsTest.dll(帶後綴的全稱)
caption為控件在界面顯示的名稱
identity為唯一標識,格式為類庫名稱+命令對象名稱,即PIE.ControlsTest.VectorCommand,代碼中通過identity找到對應命令控件
Image 為插件的背景圖片名稱,圖片放置位置為安裝路徑目錄下的【Res】文件夾下
圖2-19:插件控件背景圖片設置
其中標簽項page、group、item對應界面上的控件如下所示
圖2-20:界面與配置文件對應關系
3.3.3 效果展示
圖2-21:效果展示
PIE.NET-SDK插件式二次開發文檔