Hello World程序很重要,對於入門來說,它可以檢測我們的環境、配置是否正確,感受程序的易用性等。
添加工具
由於我是使用的VS2017+ SuperMap iObject綠色免安裝版,所以新建工程后,沒有相關的工具可以拖放使用,在工具上新建選項卡,右鍵選擇項,瀏覽選擇SuperMap.UI.Controls、SuperMap.Mapping、SuperMap.Data三個引用。
則可以拖放了。(拖放大大降低了初學者入門的門檻,為VS的這種方式點贊)
注意以下幾個問題:
(1)新建的工程Framework版本如果不是4.0工具箱中到看到任何SuperMap工具(這說明SuperMap是基於Framework4.0)的。
(2)如果是使用64位的dll(即Bin_x64下的文件),將不支持控件的拖放。
(3)如果熟練了,可以使用代碼方式實現初始化控件等。
添加引用
將上面三個引用添加到項目的引用中,即可開始代碼的開發,由於使用的VS2017,所以就沒有下面這個了,只能瀏覽文件路徑選擇了。SuperMap iObject 9支持的VS版本是2010和2012。
其他引用根據需要添加了。
添加代碼
然后添加官方的示例代碼:
//******打開工作空間****** private void toolStripOpen_Click(object sender, EventArgs e) { //設置公用打開對話框 openFileDialog1.Filter = "SuperMap 工作空間文件(*.smwu)|*.smwu"; //判斷打開的結果,如果打開就執行下列操作 if (openFileDialog1.ShowDialog() == DialogResult.OK) { //避免連續打開工作空間導致程序異常 mapControl1.Map.Close(); workspace1.Close(); mapControl1.Map.Refresh(); //定義打開工作空間文件名 String fileName = openFileDialog1.FileName; //打開工作空間文件 WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo(fileName); //打開工作空間 workspace1.Open(connectionInfo); //建立MapControl與Workspace的連接 mapControl1.Map.Workspace = workspace1; //判斷工作空間中是否有地圖 if (workspace1.Maps.Count == 0) { MessageBox.Show("當前工作空間中不存在地圖!"); return; } //通過名稱打開工作空間中的地圖 mapControl1.Map.Open("世界地圖_Day"); //刷新地圖窗口 mapControl1.Map.Refresh(); } }
注意以下幾個問題:
(1)如果出現以下問題,請將平台的anycpu改為x86;
(2)如果你還在思考為什么SuperMap.Mapping的Version是7.0(見上圖),那請停止思考,不要管它,官方人員解釋說這不影響9.0的使用。
(3)如果程序也沒報錯,打開后地圖沒有顯示,看看是不是idesktop打開了此工作空間。