首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于MaPX的校园导航系统设计
来源:本站整理  作者:佚名  2010-04-15 16:56:41




2.2 电子地图基本功能实现
    电子地图基本功能包括选择、标注、缩小、放大、漫游等。采用MapX可以很容易的实现这些功能,下面以缩小功能为例,简单介绍一下程序里如何实现地图缩小。
    添加一个新的Toolbar资源。输人标题“IDR_TOOL_BARMAP”。在“IDR_TOOLBARMAP”下添加按钮,在其上绘制缩小图形来表示“缩小”,其ID为ID_MAP_TOOL_ZOOMOUT。打开类向导.选择视图类CMapXView.为菜单项ID_MAP_TOOL_ZOOMOUT添加COOMMAND消息映射函数OnMapToolZoomout(),并编辑代码如下:


编译运行程序.点击缩小按钮,在电子地图上单击鼠标就会实现电子地图的缩小功能。可用相同方法实现其他标准工具的功能。
2.3 GPS数据的接收和处理
    此模块完成了从串口读取数据,并对数据按照GPS所遵循的NMEA0183协议进行处理,得出经纬度坐标等信息的功能。此模块包括两个部分串口通信和数据处理。
    由于GPS模块每一秒更新一次数据,当上空有4颗卫星时串口会源源不断的接收到定位数据.为了在对串口实时监控的同时还可以在前台进行一些其他的操作。采用基于多线程的CSerialPort类的串口通信方法可以很好的解决这一问题。
    此模块的工作流程可分为以下几步:(1)利用CSerial-Port的InitPort()初始化串口配置。(2)如果配置成功用StartMonitoring()打开串口并创建监视串口的线程。(3)在相应的类里添加响应WM_COMM_RXCHAR消息的消息处理函数,并且在其中做接收字符处理。(4)添加定时器.在OnTimer中处理NMEA 0183格式的GPS定位数据.将提取到的纬度数据保存到相应类上的成员变量中。
2.4 目标定位和播报
    该模块从GPS数据处理模块中得到经纬度坐标等信息,并且把它赋值给目标图元,通过定时器更新图元位置从而完成实时定位。
    由于程序实时接收定位数据来更新图元的位置.就需要程序频繁的刷新整个图层,就会影响效率。动态图层的目的是为了加速图层的刷新率从而提高效率,设置动态图层后。每次刷新都只刷新动态图层,这样就很好的解决了这个问题。示例代码如下:


程序最后运行界面如下:

3 结束语
    本文在GIS二次开发日新月益的背景下.结合校园实际特点开发了基于MapX的校园导航系统。经过调试,程序运行稳定,实现了电子地图放大、缩小、漫游等功能。程序由Mi-crosoft Visual C++6.0编译、在Windows XP下运行通过。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:195,554.70000 毫秒