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打開了此工作空間。
