MapObject控件的使用之加入图层
2003-09-26 23:19
344 查看
MapObject控件的使用之加入图层
作者:北京 张松伟
zswzwy@163.com
MapObject控件是ArcInfo公司开发的一套功能强大的GIS地理信息系统控件,该控件功能非常强大,在软件开发行业中有着很大范围的覆盖率,因其在VC中的使用非常复杂,帮助文档对一个刚入门的程序员来说不是很容易看懂,并且示例代码都是基于VB的,所有我写了这一系列的文章,供大家参考,有问题欢迎大家指正。
MapObject(以下简称MO)有自己格式的图层文件,是有.shp为扩展名,在使用时首先要将MO控件引入到我们的程序中来,并包函一些头文件。好了,让我们开始吧。
1、新建单文档程序,在第四步时设置窗口启动最大化。点击Project->Add to Project->Components And ….,先择已注册的控件,选择MapObjects 2.2 Map Control,全选其中的类,加入工程当中。
2、在工程目录下新建一个文件夹,命名为Common,将MapHelper.h 、MapHelper.cpp 、MapObjects2.h 、 pedef.h拷贝到其中,以上文件可以到MO安装目录或VC例程目录下找到。
3、打开stdafx.h ,在其中加入#include "Common/mapobjects2.h" 和 #include "Common/maphelper.h"句话,并将Common目录下的所有文件包函到工程当中。
4、给CMyView加入成员变量CMap1 m_map,并在OnInitialUpdate()函数中创建它。
GetClientRect(&rect);
m_map.Create("WeatherGis", WS_CHILD | WS_VISIBLE, rect, this, ID_GISMAP);
拦截WM_SIZE消息,加入如下代码以使MO控件占满整个视图。
if(m_map.m_hWnd)
m_map.SetWindowPos(0, 0, 0, cx, cy, SWP_NOZORDER);
5、把你找来的图层文件(.shp)文件放到工程目录下,并你下面这样加入到MO当中去。
AddLayer(m_map, TEXT("shp// country.shp"), moPaleYellow);
AddLayer(m_map, TEXT("shp//city.shp"), moRed);
…….
6、好了,运行吧,看一幅地图已经呈现在你面前了,是不是很有成就感呢?在下次我将说明如何对图层进行放大缩小、改变鼠标样式等操作,好了先到这吧。
作者:北京 张松伟
zswzwy@163.com
MapObject控件是ArcInfo公司开发的一套功能强大的GIS地理信息系统控件,该控件功能非常强大,在软件开发行业中有着很大范围的覆盖率,因其在VC中的使用非常复杂,帮助文档对一个刚入门的程序员来说不是很容易看懂,并且示例代码都是基于VB的,所有我写了这一系列的文章,供大家参考,有问题欢迎大家指正。
MapObject(以下简称MO)有自己格式的图层文件,是有.shp为扩展名,在使用时首先要将MO控件引入到我们的程序中来,并包函一些头文件。好了,让我们开始吧。
1、新建单文档程序,在第四步时设置窗口启动最大化。点击Project->Add to Project->Components And ….,先择已注册的控件,选择MapObjects 2.2 Map Control,全选其中的类,加入工程当中。
2、在工程目录下新建一个文件夹,命名为Common,将MapHelper.h 、MapHelper.cpp 、MapObjects2.h 、 pedef.h拷贝到其中,以上文件可以到MO安装目录或VC例程目录下找到。
3、打开stdafx.h ,在其中加入#include "Common/mapobjects2.h" 和 #include "Common/maphelper.h"句话,并将Common目录下的所有文件包函到工程当中。
4、给CMyView加入成员变量CMap1 m_map,并在OnInitialUpdate()函数中创建它。
GetClientRect(&rect);
m_map.Create("WeatherGis", WS_CHILD | WS_VISIBLE, rect, this, ID_GISMAP);
拦截WM_SIZE消息,加入如下代码以使MO控件占满整个视图。
if(m_map.m_hWnd)
m_map.SetWindowPos(0, 0, 0, cx, cy, SWP_NOZORDER);
5、把你找来的图层文件(.shp)文件放到工程目录下,并你下面这样加入到MO当中去。
AddLayer(m_map, TEXT("shp// country.shp"), moPaleYellow);
AddLayer(m_map, TEXT("shp//city.shp"), moRed);
…….
6、好了,运行吧,看一幅地图已经呈现在你面前了,是不是很有成就感呢?在下次我将说明如何对图层进行放大缩小、改变鼠标样式等操作,好了先到这吧。
相关文章推荐
- MapObject控件的使用之加入图层
- MapObject控件的使用之改变图层颜色
- MapObject控件的使用之图层操作
- MapObject 控件的使用之加入图层(作者/张松伟)
- MapX系列-- 使用LayerInfo object 在map中添加栅格图层
- MapObject控件的使用之符号绘制
- MapX系列-- 使用LayerInfo object 在map中添加已有的矢量图层
- MapX系列-- 使用LayerInfo object 在map中添加栅格图层
- Delphi下使用MapWinGIS控件打开GIS图层
- java Object类型转换为jsonObject、或者map类型 maven加入json包
- 使用javascript编写的表格控件(支持汇总,排序,滚动,分页,支持跨行跨列,附带提供List,Map)
- *Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)
- 自己定义控件三部曲之动画篇(七)——ObjectAnimator基本使用
- MapObject 2.1在C#中的使用
- 2 TileMapObject的使用
- duilib中加入自己定义控件之后怎么可以在xml文件里配置使用
- 使用MapWinGis ActiveX控件在shapefile文件图层上画直线
- MapX系列-- 使用LayerInfo object 在map中添加栅格图层
- 改变一个list<Map<String,Object>>,并给他重新赋值,不能使用新循环,要使用旧循环
- 使用Map把sql返回的list<Object>转成需要的实体对象