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

  • 相关阅读:
    [置顶] 文件批量重命名(工具)
    zookeeper源码分析之三客户端发送请求流程
    java set转list,数组与list的转换
    分布式电子邮件系统设计--转载
    redis 模糊删除实现
    eclipse 使用jetty调试时,加依赖工程的源码调试方法
    社交产品后端架构设计--转载
    solr服务器的查询过程
    What is corresponding Cron expression to fire in every X seconds, where X > 60? --转载
    zookeeper源码分析之二客户端启动
  • 原文地址:https://www.cnblogs.com/liweis/p/9373181.html
Copyright © 2011-2022 走看看