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

  • 相关阅读:
    史上最全最强SpringMVC详细示例实战教程
    使用Mapper专用的MyBatis Generator插件
    list集合为空或为null的区别
    Hibernate三大类查询总结
    mybatis深入理解之 # 与 $ 区别以及 sql 预编译
    Hibernate 中Criteria Query查询详解【转】
    mybatis example使用 and和or联合查询(转)
    mybatis中的mapper接口文件以及example类的实例函数以及详解
    iOS安全攻防之越狱设备检测
    iOS安全攻防之阻止GDB依附
  • 原文地址:https://www.cnblogs.com/liweis/p/9373181.html
Copyright © 2011-2022 走看看