中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > COM技术
MapObject 控件的使用之加入图层
作者:未知 时间:2005-07-20 14:21 出处:VC知识库 责编:chinaitpower
              摘要:MapObject 控件的使用之加入图层

MapObject 控件的使用之加入图层


作者/张松伟



    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()函数中创建它。
        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、好了,运行吧,看一幅地图已经呈现在你面前了,是不是很有成就感呢?在下次我将说明如何对图层进行放大缩小、改变鼠标样式等操作,好了先到这吧。
 
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有