图4定位信息接收子进程框图 图5地图绘制函数流程图 当MiniGUI主程序接收到其GPS通信子进程发送的SIGUSR1信号时,就会调用相应的信号处理函数。为了实时更新定位点在电子地图中的位置,必须在该函数中读取共享内存中的最新位置信息;同时根据定位点位置的变化确定需要重绘的区域,调用MiniGUI中的InvalidateRect函数使该区域无效。通过这种方式,使得最新的位置信息实时的在电子地图上显示出来。 为了把底层图形设备和上层图形接口分离开来,提高MiniGUI图形系统的可移植性,MiniGUI中引入了图形抽象层(GAL, graphics abstract layer)的概念。在一定的GAL基础上,实现了图形设备接口(GDI,Graph Device Interface)。在程序中定义mpadraw函数为电子地图绘制函数,在主程序的MSG_PAINT消息处理时调用该函数,来完成电子地图的具体绘制工作。mpadraw函数流程图如图5所示。在具体绘制的过程中,要用到MiniGUI提供的GDI函数来完成道路、道路名、居民区等地理信息的显示。图6即为笔者实现的电子地图。 图6利用MiniGUI绘制的电子地图 结语 随着社会信息化的发展,GPS导航终端在我国有着光明的应用前景。本文中利用MiniGUI来实现车载终端的电子地图在LCD上地绘制,使地图的绘制工作脱离烦琐的底层硬件,大大的简化了此项工作,再配合GPS信号接收机实现实时定位导航的功能。同时也应该看到,本方案仍有很多方面需要改进,例如矢量化地理信息的显示及地图显示的进一步优化等。
关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号