使用MapWinGis控件在桌面应用程序中显示地图
来源:互联网 发布:u8软件 编辑:程序博客网 时间:2024/05/16 05:03
前段时间接到BOSS一个任务:要在一个桌面应用程序中加入地图的显示,这个地图要能够支持缩放,支持描点划线,支持经纬度的栅格显示,支持轨迹的描绘,后期还要支持在地图上进行手工描点,规划路径等功能,对于这个需求,我的理解是一个可视化系统,需要拿GIS来定制一下(我有考虑Google Map 或者Goolgle earth,但是这个桌面程序不要求能接入Internet)。于是乎我在网上苦苦的追寻,终于找到一个基于window平台的Active X控件(接触过VB啊、MFC 啊、C#啊的人们应该都知道这种控件吧)名字叫---MapWinGis.这个控件是开源的,像其他小众的开源库一样,这个控件在互联网上的资料也十分稀少,关于MapWinGis的博客来来回回就那么一两篇,还各种转载!当然我们来学习这个控件的最好方式是去读它官方主页的文档,而我在使用这个控件所实现的功能,大部分也是按照文档开实现的,但我觉得仅仅是官方文档还远远不够,在使用文档过程中,我们还是会遇到各种各样的问题,所以今天我想写一个自己的探索过程,记录下我在使用这个控件过程中遇到的点点滴滴,期望给后来人一点启发,文章中有什么不正确、不确切的地方还希望大家多指正。
============================================
=======同时我想声明一下我的工作平台=============
============================================
////////////////////////////////////////////////////////////////////////////////////////////
////操作系统:win 7
////使用的编程语言: C#
////IDE: VS Express 2013 For Desktop
////控件版本:MapWinGIS v4.9.3.2 Win32
---------------记于本系列博客写作之前
第一篇文章,我们先瞄准第一个需求:在桌面应用程序中使用MapWinGis控件加入地图元素。
在使用MapWinGis控件之前,我们必须先下载这个控件并安装它:
下载地址:https://mapwingis.codeplex.com/releases/view/541892
一定要看清楚下载的是MapWinGis控件,这个组织还针对地理信息系统使用者提供了一个应用程序,不要下载了这个。
下载完以后进行安装工作,跟其他在window平台下的安装程序一样,如下图:
然后根据界面提示(如选择安装路径什么的),安装即可。
安装完毕后要在window平台对这个控件进行注册,以便于后来的使用。
假设我安装在了如下路径:C:\dev\MapWinGIS
在这个目录下有一个“regMapWinGIS.cmd”的文件双击它即可完成注册过程。
接下来我们就要在程序中使用它了:
1.首先在VS Express 2013中创建一个基于C#的window窗体应用程序,然后在菜单栏里选择"项目菜单"下的“添加引用”选项。
然后在打开的选项卡的右侧找到咱们的控件--MapWinGis Components
单击“确定”。
接着我们需要将这个控件添加到工具箱中,以便以后使用:“工具箱”-->"常规" 右键---->“COM组件选项卡”,找到“Map Control”勾选此项添加即可。
这样,控件就添加到工具箱中了,像使用其他控件一样,我们从工具箱中拖拽一个MapWinGis到窗体中就完成了控件的添加工作。(大体的样子如下图,我将控件属性设置为了fill,也是就填满整个窗体,这个无关紧要)
这个时候我们就可以使用这个控件对象来进行编码工作啦!!我们要显示一个地图,那么我们可以直接在Form_load事件中添加代码(因为咱们先试验性的实现一些功能,请读者自动忽略掉不符合工程规范的编码内容,嘎嘎~)。
int intHandler;//声明一个句柄,为以后生成图层句柄做准备
//声明一个Shapefile类型的对象(实例化) MapWinGIS.Shapefile shapefile = new MapWinGIS.Shapefile();
//使用这个对象就可以打开一个地图类型的文件(一个shapefile文件),注意文件的路径shapefile.Open(@"E:\Yums\program\map\data\ne_50m_admin_0_countries.shp", null);
//调用axMap1对象的添加图层方法就将地图显示在了界面上intHandler = axMap1.AddLayer(shapefile, true);到此我们就可以显示一个地图在桌面应用程序中。
另:我们需要提前准备一些shapefile文件。
- 使用MapWinGis控件在桌面应用程序中显示地图
- 使用MapWinGis ActiveX控件在图层上画点
- 使用MapWinGis ActiveX控件在shapefile文件图层上画直线
- MapWinGIS使用.
- MapWinGIS使用
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- 在.net应用程序中使用用户控件
- 在自定义应用程序中使用 RSClientPrint 控件
- C# 将应用程序显示在扩展桌面
- .net语言中使用MapWinGIS.ocx
- MailBee.NET Objects显示HTML/纯文本邮件教程(二):在桌面应用程序中显示
- 如何在ArcGIS Online中构建自己的应用程序模板初级篇-显示地图
- 在.net应用程序中使用用户控件 [zt from zz]
- 在Pocket PC应用程序中使用DataGrid控件
- 在Pocket PC应用程序中使用DataGrid控件
- 在win-form 应用程序中使用WPF控件和样式
- 【BZOJ1093】【ZJOI2007】最大半连通子图 强连通分量缩点+sort去重边+拓扑排序
- iOS8新增的API
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
- 浮点数/float/double 是否需要考虑网络字节序的问题
- MOL4D V1.0使用说明书
- 使用MapWinGis控件在桌面应用程序中显示地图
- 我的家乡
- python计算阶乘
- 栈-迷宫问题
- 飞回家撒活动叫啥好的打算
- strategy design pattern and composite design pattern
- 天声人語 20150111
- 飞机和手机阿红的就撒谎的
- DefaultSingletonBeanRegistry