MapObject控件的使用之加入图层

原创 2003年09月26日 23:19:00

MapObject控件的使用之加入图层

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 作者:北京 张松伟

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 控件是 ArcInfo 公司开发的一套功能强大的 GIS 地理信息系统控件,该控件功能非常强...
  • famenwuliang
  • famenwuliang
  • 2011年04月02日 18:17
  • 989

MapObject控件的使用之图层操作

MapObject控件的使用之图层操作作者: 北京 张松伟zswzwy@163.com 上一次我们已经加好了图层,但是不能对图层进行任何操作,比如移动、放大、缩小、全屏等。接下来我将介绍如何在MapO...
  • zswzwy
  • zswzwy
  • 2003年09月26日 23:02
  • 1985

MapObject控件的使用之改变图层颜色

MapObject控件的使用之改变图层颜色作者:张松伟zswking@163.com 如果你的地国正在显示一个“中国地图”的图层,而图层中每个省的颜色都是一样的,你是不是想把它做成真实地图一样的效果,...
  • zswzwy
  • zswzwy
  • 2004年05月29日 15:55
  • 1665

MapObject控件的使用之符号绘制

MapObject控件的使用之符号绘制作者 北京 张松伟zswzwy@163.com 在MO当中,可以在图层上自己画一些特定的符号,以标识特殊的点。比如:各地方的地图,上面标识了一些大厦、地铁、学校等...
  • zswzwy
  • zswzwy
  • 2003年09月28日 00:35
  • 2029

MapObject控件使用之图层制作

MapObject控件使用之图层制作作者:张松伟zswking@163.com 有些时候将一些固定的数据制作成图层,可以提高程序的速度,而且使用方便。下面我就将对图层的制作方法进行一下简单的说明。假设...
  • zswzwy
  • zswzwy
  • 2004年05月29日 15:55
  • 2117

Java 中的 static 使用之静态初始化块

Java 中可以通过初始化块进行数据赋值。如: public class HelloWorld { String name; // 声明变量name String sex; ...
  • liushulin183
  • liushulin183
  • 2015年06月27日 11:06
  • 527

openlayer实现图层控件功能

/** * 该文件用于添加图层控件功能 * @author Wilson.Yan * @version 2016.8.18 */ function layerCtrl(map){ //在外部调...
  • u013323965
  • u013323965
  • 2016年08月18日 16:55
  • 1065

Java中通过反射越过泛型检查

要想Java通过反射越过泛型检查,你就得先明白,泛型是在什么时候起作用的。 泛型是在编译期间起作用的。在编译后的.class文件中是没有泛型的。所有比如T或者E类型啊,本质都是通过Object处理的。...
  • Marvel__Dead
  • Marvel__Dead
  • 2016年11月21日 19:31
  • 893

Devexpress使用之:TreeList控件

http://www.cnblogs.com/habin/archive/2009/04/15/1436418.html Devexpress系列控件功能很强大,使用起来也不太容易,我也是边...
  • plean
  • plean
  • 2011年08月02日 11:15
  • 1218

Devexpress使用之:GridControl控件

转自:http://www.cnblogs.com/habin/archive/2009/04/24/1442613.html Devexpress系列控件功能很强大,使用起来也不太容易...
  • threadroc
  • threadroc
  • 2015年05月18日 15:21
  • 401
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MapObject控件的使用之加入图层
举报原因:
原因补充:

(最多只允许输入30个字)