1 / 6
文档名称:

用VC实现GIS系统基本功能.doc

格式:doc   大小:32KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用VC实现GIS系统基本功能.doc

上传人:漫山花海 2019/4/17 文件大小:32 KB

下载得到文件列表

用VC实现GIS系统基本功能.doc

相关文档

文档介绍

文档介绍:用VC实现GIS系统基本功能文档说明:此文档适合VC++的初学者,高手也可参考(希望能提出宝贵意见)。开发前准备:前提:必须在你的电脑上安装了MapX控件,并且准备好需要用到的电子地图(Mapinfo格式的)VC++嵌入MapX进行二次开发可分为以下几个步骤来实现: 1对应用工程的预设置在创建MapX控件之前,。对于VisualC++,从Project菜单中选择AddToProject->Files命令,打开InsertFilesintoProject对话框,(在MapX自带的C++例子中有这两个文件)。注意:不要选择Project菜单中的AddTOProject->ComponentsAndControls命令。如果选择该命令加入MapX控件,,但是该文本没有包括所有的MapX对象。 2对MapX属性的操作对于C++程序来说,每个MapX对象(Objects),类的名字和MapX对象的名字相同,且已经在CmapX中定义了。例如,DataSet对象用类CmapXDataset实现。这和C++类的定义相一致。而每个MapX对象的属性(Properties)是用类的成员函数来实现的。比如DataSet对象的名字(Name),就是用Name()函数来实现的,不过,Name()有两种使用方法,即Get和Set。如: CStringGetName();//获取对象名字 voidSetName(LPCTSTR);//设置对象名字 3部分MapX工具的应用(1)“全图”工具的改进一般全图工具的代码为: (()); 此方法的缺点是重新显示全图后,实际上是以上一个视图的中心作为屏幕中心进行显示,如果上一个视图在全图中的边缘位置,点击全图工具后实际上不是初始设置的全图。因此可以用如下代码实现: CStringmapname=();//取得当前地图的名字 (mapname);//设置该地图为主视区显示图(2)创建“信息”工具 MapX没有提供信息工具,该工具是自定制工具。有两种实现方法,其基本思想是: (1)创建工具的鼠标指针类型(一般为“+”),当在工具栏上选择此工具后,设置为当前工具,然后跟踪鼠标在地图上点击的位置,触发ToolUsed事件,根据位置信息确定相应的对象,然后读取对象属性或绑定的数据库,弹出对话框,实现信息显示。此种方法只适用于显示地图的最上层对象(在MapX自带的C++例子“Buffer”中有具体实现代码)。(2)用选择工具选中地图上所要显示信息的对象,然后再点击工具栏上的信息工具,弹出对话框,实现信息显示。此信息工具的实现代码与(1)不同,没有鼠标指针,实际上就是读取选中对象的属性或绑定的数据库的操作。此方法适合显示地图上的任意图层。两种方法各有特点,第一种方法直接,但在实际应用中容易出现异常,第二种方法要多点击一次,但应用稳定,而且适用地图上的任意图层。(3)“测距”工具的使用注意事项 MapX的