彩票走势图

MapObject 控件中加入图层的处理方法

转帖|其它|编辑:郝浩|2010-08-04 13:54:21.000|阅读 683 次

概述:MapObject 控件是 ArcInfo 公司开发的一套功能强大的 GIS 地理信息系统控件,该控件功能非常强大,在软件开发行业中有着很大范围的覆盖率,因其在VC中的使用非常复杂,帮助文档对一个刚入门的程序员来说不是很容易看懂,至使许多程序员都敬而远之,所以我写了这一系列的文章,供大家参考,有问题欢迎大家指正。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  MapObject 控件是 ArcInfo 公司开发的一套功能强大的 GIS 地理信息系统控件,该控件功能非常强大,在软件开发行业中有着很大范围的覆盖率,因其在VC中的使用非常复杂,帮助文档对一个刚入门的程序员来说不是很容易看懂,至使许多程序员都敬而远之,所以我写了这一系列的文章,供大家参考,有问题欢迎大家指正。

   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()函数中创建它。

  [Copy to clipboard] [ - ]
CODE:
GetClientRect(&rect);
m_map.Create("WeatherGis",
WS_CHILD | WS_VISIBLE,
rect,
this,
ID_GISMAP);

  拦截WM_SIZE消息,加入如下代码以使MO控件占满整个视图。

  [Copy to clipboard] [ - ]
CODE:
if(m_map.m_hWnd)
m_map.SetWindowPos(0, 0, 0, cx, cy, SWP_NOZORDER);

  5、把你找来的图层文件(.shp)文件放到工程目录下,并你下面这样加入到MO当中去。

  [Copy to clipboard] [ - ]
CODE:
AddLayer(m_map, TEXT("shp\\ country.shp"), moPaleYellow);
AddLayer(m_map, TEXT("shp\\city.shp"), moRed);

  6、好了,运行吧,看一幅地图已经呈现在你面前了,是不是很有成就感呢?在下次我将说明如何对图层进行放大缩小、改变鼠标样式等操作,好了先到这吧。

   


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:3sNews.Net

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP