zoukankan      html  css  js  c++  java
  • SuperMap入门3——Hello World

    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打开了此工作空间。

  • 相关阅读:
    uva 489 Hangman Judge(水题)
    中国海洋大学第四届朗讯杯高级组 Cash Cow(模拟)
    中国海洋大学第四届朗讯杯高级组 A 2718 Rocky(模拟)
    poj 1039 Pipe(叉乘。。。)
    CodeForces 135 B. Rectangle and Square(判断正方形和 矩形)
    poj 1265 Area( pick 定理 )
    poj 2031 Building a Space Station(prime )
    hdu 4502 吉哥系列故事——临时工计划(dp)
    拉格朗日插值
    [USACO18DEC]The Cow Gathering P
  • 原文地址:https://www.cnblogs.com/liweis/p/9373181.html
Copyright © 2011-2022 走看看