下载本文示例代码
摘要 本文介绍了在VC 实现的实时显示系统中,用OLE方式嵌入MapInfo矢量地图的编程方法,简要叙述了其实现过程。
一、 前言 电子地图应用作为一门新兴学科,已不仅限于地图制作中。本文利用VC 和OLE(Object Linking and Embedding, 对象连接和嵌入)编程技术,实现了实时信息在矢量地图背景上的显示。
程序应用于显示处理终端,接收并处理网络信息的部分在不同的系统中有不同的要求,这里不再赘述。
MapInfo矢量地图用图层方式进行存储和管理,每个图层对应地图上的一类要素(如居民地,水系,铁路,公路等),对于每个包含图形信息的图层,需要有4个文件(.dat, .tab, .map, .id)支持。
MapInfo地图允许嵌入一个地图窗口到任何能接受OLE对象的应用程序中。从服务器(如MapInfo)插入一个OLE对象到容器应用程序(如Microsoft Word),并在该应用程序中对这个对象进行处理。被嵌入的对象是来自服务器应用程序的对象的一个副本。对象一旦位于容器中,它将不再被链接到源对象。
在VC 应用程序中用OLE方式嵌入MapInfo进程,需定义了一个MapInfo对象(DMapInfo类),DMapInfo类在MapInfo类型库(Mapinfow.tlb)中定义。MapInfo软件提供了自己的编程语言MapBasic, VC 对地图进程的操作主要通过发送MapBasic命令来实现。
二、 创建程序框架 程序框架是用MFC实现的,MFC 应用程序向导(AppWizard)生成了大部分的代码,然后加入MapInfo进程。步骤如下:
1. 创建一个新项目,项目类型选择MFC AppWizard(exe),项目名称设为MapApp,其它按照提示进行设置即可。应用程序向导自动生成了三个类:
CmapAppApp 应用程序类
CmapAppDoc 文档类
CmapAppView 视图类
CmainFrame 主框架类
2. 添加MapInfo类型库
运行类向导,单击增加类按钮(Add Class …),选择“From a type library”,找到“Mapinfow.tlb”文件并打开,在“Confirm Classes”中选择“DMapInfo”类,单击OK确认输入并关闭对话框。现在MapApp应用程序中已添加了DMapInfo类,并增加了"mapinfow.h"和"mapinfow.cpp"两个源文件。共5页。 1 2 3 4 5 :
摘要 本文介绍了在VC 实现的实时显示系统中,用OLE方式嵌入MapInfo矢量地图的编程方法,简要叙述了其实现过程。
一、 前言 电子地图应用作为一门新兴学科,已不仅限于地图制作中。本文利用VC 和OLE(Object Linking and Embedding, 对象连接和嵌入)编程技术,实现了实时信息在矢量地图背景上的显示。
程序应用于显示处理终端,接收并处理网络信息的部分在不同的系统中有不同的要求,这里不再赘述。
MapInfo矢量地图用图层方式进行存储和管理,每个图层对应地图上的一类要素(如居民地,水系,铁路,公路等),对于每个包含图形信息的图层,需要有4个文件(.dat, .tab, .map, .id)支持。
MapInfo地图允许嵌入一个地图窗口到任何能接受OLE对象的应用程序中。从服务器(如MapInfo)插入一个OLE对象到容器应用程序(如Microsoft Word),并在该应用程序中对这个对象进行处理。被嵌入的对象是来自服务器应用程序的对象的一个副本。对象一旦位于容器中,它将不再被链接到源对象。
在VC 应用程序中用OLE方式嵌入MapInfo进程,需定义了一个MapInfo对象(DMapInfo类),DMapInfo类在MapInfo类型库(Mapinfow.tlb)中定义。MapInfo软件提供了自己的编程语言MapBasic, VC 对地图进程的操作主要通过发送MapBasic命令来实现。
二、 创建程序框架 程序框架是用MFC实现的,MFC 应用程序向导(AppWizard)生成了大部分的代码,然后加入MapInfo进程。步骤如下:
1. 创建一个新项目,项目类型选择MFC AppWizard(exe),项目名称设为MapApp,其它按照提示进行设置即可。应用程序向导自动生成了三个类:
CmapAppApp 应用程序类
CmapAppDoc 文档类
CmapAppView 视图类
CmainFrame 主框架类
2. 添加MapInfo类型库
运行类向导,单击增加类按钮(Add Class …),选择“From a type library”,找到“Mapinfow.tlb”文件并打开,在“Confirm Classes”中选择“DMapInfo”类,单击OK确认输入并关闭对话框。现在MapApp应用程序中已添加了DMapInfo类,并增加了"mapinfow.h"和"mapinfow.cpp"两个源文件。共5页。 1 2 3 4 5 :
下载本文示例代码
用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示用VC 实现矢量地图背景下的实时显示
阅读(117) | 评论(0) | 转发(0) |