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的使用方法,这期的文章 ...
随机推荐
- 委托、Lambda表达式、事件系列02,什么时候该用委托
假设要找出整型集合中小于5的数. static void Main(string[] args) { IEnumerable<int> source = new List<int&g ...
- tms web core程序部署
tms web core程序部署 笔者把已经开发好的TMS WEB CORE程序部署到阿里云服务器上面,来作为例子. 1)复制TMS WEB CORE前端程序到服务器的c:\room\ 2)复制TMS ...
- lua(wax框架) 适配 64位操作系统
======================使wax框架真正兼容64位系统========================== 苹果强制要求所有新提交的应用必须兼容64位,但原来使用lua的框架wax ...
- Java判断多个时间段是否重叠(重叠区间个数)
import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 判断多个时间段是否出现重叠 ...
- SharePoint Online 设置网站集
前言 本文介绍如何在Office 365中设置SharePoint Online网站集,当我们创建好SharePoint Online站点,开始使用之前,一定会有一些基本的设置,本文就为大家介绍这些基 ...
- linux dig命令 转
dig 命令主要用来从 DNS 域名服务器查询主机地址信息. 查询单个域名的 DNS 信息 dig 命令最典型的用法就是查询单个主机的信息. $ dig baidu.com dig 命令默认的输出信息 ...
- 暴君第一季/全集Tyrant迅雷下载
本季第一季 Tyrant Season 1 (2014)看点:虽然李安退出了FX系列剧<暴君>(Tyrant),称不想耽误了剧集的制作,但显然FX对这部剧的重视程度非比寻常,因为他们找来的 ...
- 让java从Mysql返回多个ResultSet
首先,JDBC对于SQLSERVER来说默认是支持返回,但对于MySql来说,只默认支持存储过程返回多个ResultSet,那对于手写SQL怎么办. 其实很简单,只要一个在连接字符串中加一个参数:al ...
- Error: Program type already present: android.arch.lifecycle.LifecycleRegistry$1
com.firebaseui:firebase-ui-firestore:3.1.0 depends on android.arch.lifecycle:extensions:1.0.0-beta1. ...
- [转]Mysql中的SQL优化与执行计划
From : http://religiose.iteye.com/blog/1685537 一,如何判断SQL的执行效率? 通过explain 关键字分析效率低的SQL执行计划. 比如: expla ...