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打开了此工作空间。
SuperMap入门3——Hello World的更多相关文章
- SuperMap iClient for JavaScript 新手入门
地理信息系统(英语:Geographic Information System,缩写:GIS)是一门综合性学科,结合地理学与地图学,已经广泛的应用在不同的领域,是用于输入.存储.查询.分析和显示地理数 ...
- SuperMap iObject入门开发系列之二地下三维管线系统介绍
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上次对超图平台组件式开发进行介绍,这次介绍的是基于这个框架开发的地下三维管线系统.地下管线涉及给水.雨水.污水.燃气. ...
- SuperMap iObject入门开发系列之一组件式GIS开发平台介绍
本文是一位好友“炀炀”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢.平台介绍:SuperMap iObjects Java/.NET 是面向GIS应用系统开发者的组件式GIS开发平台,具有强 ...
- SuperMap开发入门2——环境部署
由于超图的相关资源比较少,可参考官方提供的<SuperMap iDesktop 9D安装指南>和<SuperMap iObjects .NET 9D安装指南>完成应用软件和开发 ...
- SuperMap开发入门1——资源下载
前言(废话) 由于项目需要,我们将被改用超图(SuperMap)平台进行GIS开发.记忆中,我还是在学生时代使用过超图软件5.0版本,安装包只有50M,这也是超图与学校有合作关系的缘故. 在以后的学习 ...
- SuperMap iObject入门开发系列七管线横断面分析
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线横断面分析功能是管线系统常见的一个分析功能,地下管线横断面分析的原理,是根据需求,在管线区域画一条横截面线,使其与 ...
- SuperMap iObject入门开发系列之六管线区域查询
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线区域查询功能针对单一管线图层进行区域多边形框选查询,然后将查询结果输出为列表,并添加定位和闪烁功能,效果如下图所示 ...
- SuperMap iObject入门开发系列之五管线属性查询
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线属性查询功能针对单一管线图层进行特定的条件查询,然后将查询结果输出为列表,并添加点位闪烁功能,例如查询污水管线中, ...
- SuperMap iObject入门开发系列之四管线长度统计
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 上一期文章主要写了管线系统的标注功能,结合代码简单讲解了一些超图.NET开发框架气泡Bubble的使用方法,这期的文章 ...
随机推荐
- 没有可用的复制构造函数或复制构造函数声明为“explicit”
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\vector(810) : error C2558: str ...
- ASP.NET MVC中商品模块小样
在前面的几篇文章中,已经在控制台和界面实现了属性值的笛卡尔乘积,这是商品模块中的一个难点.本篇就来实现在ASP.NET MVC4下商品模块的一个小样.与本篇相关的文章包括: 1.ASP.NET MVC ...
- linux服务器使用iftop查看带宽流量IP
20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送) 国内私募机构九鼎控股打造,九鼎投资是在全国股 ...
- Javascript 身份证号获得出生日期、获得性别、检查身份证号码
//---------------------------------------------------------- // 功能:根据身份证号获得出生日期 // 参数:身份证号 psidno // ...
- android studio build.gradle中 project.ANDROID_BUILD_SDK_VERSION
1.メニューの [File] -> [Import Module]2.Source directory に先ほど解凍したディレクトリを指定3.「facebook」 を選択した状態に Finish ...
- 用TexturePacker打图集用于UGUI中
UGUI的原理则是,让开发者彻底模糊图集的概念,让开发者不要去关心自己的图集.做界面的时候只用小图,而在最终打包的时候unity才会把你的小图和并在一张大的图集里面.Editor->Projec ...
- Java并发编程的艺术(十二)——线程安全
1. 什么是『线程安全』? 如果一个对象构造完成后,调用者无需额外的操作,就可以在多线程环境下随意地使用,并且不发生错误,那么这个对象就是线程安全的. 2. 线程安全的几种程度 线程安全性的前提:对『 ...
- sql语句 update 字段=字段+字符串
update aa set name=concat('x',name) SELECT OWNER,phone ,COUNT(fc_hc) as c from tb_p GROUP BY fc_hc H ...
- 用SparseArray代替HashMap
SparseArray是android提供的一个工具类,它可以用来替代hashmap进行对象的存储,其内部实现了一个矩阵压缩算法,很适合存储稀疏矩阵的. PS:support包中还提供了兼容的类Spa ...
- dubbo源码解析-spi(4)
前言 本篇是spi的第四篇,本篇讲解的是spi中增加的AOP,还是和上一篇一样,我们先从大家熟悉的spring引出AOP. AOP是老生常谈的话题了,思想都不会是一蹴而就的.比如架构设计从All in ...