用vc++实现矢量地图背景下的实时显示

本文介绍如何使用VC++及OLE技术实现实时信息在MapInfo矢量地图上的显示。通过定义MapInfo对象,文章详细阐述了创建MFC应用程序框架的过程,并说明了如何将MapInfo地图嵌入到VC++应用程序中。
  摘要 本文介绍了在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/"两个源文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值