导航装置的实现地图平滑滚动的工作方法及该导航装置
技术领域
本发明涉及一种导航装置的实现地图平滑滚动的工作方法及该导航装置。
背景技术
现有的导航仪在导航过程中,其显示的地图随着当前位置的变化而进行滚动,现有技术的地图滚动处理的方法为:从内存中申请一块空间,将内存空间分为两块画布,一块用与绘制按钮层,它是利用设备来直接实现的;一块是用于绘制地图层,它是用软件来实现的。首先判断地图是否移动,如果移动将原来地图层清除并将更新的地图层加载显示,最后在设备画布上绘制按钮层。但是,这样做的结果是导航装置显示屏的反应速度较慢,效率不高,不能实现地图的平滑滚动,不能满足用户的要求。
中国专利文献公开号CN101170651公开了一种实现图层叠加的方法,包括:A.获取当前图层与非当前图层在视频上的期望叠加区域,并确定视频上的叠加剪裁区;B.计算当前图层与非当前图层的期望叠加区域之间的重叠区域及非重叠区域;C.所述图层的重叠区域叠加后放入叠加剪裁区相应位置,当前图层的非重叠区域直接放入叠加剪裁区相应位置。
上述现有技术的不足之处在于:所述非重叠区域往往为L型,若直接处理该非重叠区域,则不利于图像的快速处理。
发明内容
本发明所要解决的技术问题是提供一种导航装置的实现地图平滑滚动的方法及该导航装置,以使其能够快速地滚动到用户所需的显示界面。
为解决上述技术问题,本发明的可实现地图平滑滚动的导航装置,包括:CPU单元、与CPU单元相连的地图数据库、与CPU单元相连的GPS单元、与CPU单元相连的触摸屏、与CPU单元相连的用于生成控制按钮菜单图层的菜单生成单元、与CPU单元相连的用于保存地图移动过程中未发生变化的地图图像的第二图层的地图保存单元、与CPU单元相连的用于生成地图移动过程中发生变化的地图图像的第三图层的地图生成单元、以及用于依次自上而下地合成所述控制按钮菜单图层、第二图层和第三图层并控制触摸屏显示的图像合成单元。
上述可实现地图平滑滚动的导航装置的工作方法,包括如下步骤:
①、CPU单元1控制菜单生成单元11生成由触摸屏3显示的作为顶层的控制按钮菜单图层A;
②、在导航或用户操作过程中,若CPU单元1判断出地图显示参数发生了变化即触摸屏3上显示的地图需要发生移动,则根据所述地图显示参数控制地图保存单元12保存作为中间层的第二图层B中的在地图移动后仍由触摸屏3显示的地图图像;同时CPU单元1根据所述地图显示参数移动位于第二图层B中的所述已保存的地图图像,并在第二图层B中用透明色擦除其余的区域即发生变化的区域;
③、CPU单元1根据所述地图显示参数读取地图数据库4中相应的在地图移动后新添地图图像的数据,然后控制地图生成单元13在作为底层的第三图层C上与所述发生变化的区域相对应处生成相应的地图图像;
④、CPU单元1控制图像合成单元2依次叠加合成所述控制按钮菜单图层A、第二图层B和第三图层C并通过触摸屏3显示。
进一步,所述步骤③中还包括:CPU单元1计算所述发生变化的区域的形状,若该区域呈规则矩形,直接加载该区域的地图数据并生成相应的地图图像;若该区域呈L型,则将该L型区域划分成两个规则矩形,然后加载相应区域的地图数据并生成相应的地图图像。
本发明相对于现有技术具有积极的效果:(1)本发明采用菜单生成单元、地图保存单元、地图生成单元和图像合成单元来专门显示地图的平滑滚动。菜单生成单元、地图保存单元和地图生成单元构成三层画布,菜单生成单元用来绘制按钮层,地图保存单元用来保存地图层中未发生变化的区域,地图生成单元用来绘制地图层中发生变化的区域,并通过图像合成单元进行图像合成,最后由触摸屏平滑显示,实现了地图平滑滚动显示的效果。本发明将没有发生改变的地图直接保存,不需要重新来绘制,从硬件和软件方面都提高了效率,故而触摸屏的反应速度较快。
附图说明
图1为实施例1中导航装置的电路结构示意图;
图2为实施例1中导航装置的实现地图平滑滚动的程序框图;
图3为实施例1中导航装置的对三层图层进行三层渲染和自动叠加的示意图,其中的A层为控制按钮菜单图层,B层为第二图层,C层为第三图层;
图4为实施例1中导航装置的确定移动区域的方法的示意图。
具体实施方式
实施例1
见图1-4,本实施例的导航装置包括:CPU单元1、与CPU单元1相连的地图数据库4、与CPU单元1相连的GPS单元6、与CPU单元1相连的触摸屏3、与CPU单元1相连的用于生成控制按钮菜单图层的菜单生成单元11、与CPU单元1相连的用于保存地图移动过程中未发生变化的地图图像的第二图层的地图保存单元12、与CPU单元1相连的用于生成地图移动过程中发生变化的地图图像的第三图层的地图生成单元13、以及用于合成所述控制按钮菜单图层、第二图层和第三图层并控制触摸屏3显示的图像合成单元2。
所述图像合成单元2还连接有在合成所述控制按钮菜单图层、第二图层和第三图层过程中用于存储临时数据的三层渲染RAM9。
所述CPU单元1相连有用于控制图像合成单元2的工作状态的显示控制器10、用于接收实时角速度信息的角速度传感器7、用于判断在当前车速是否超速的车速传感器5和语音提示生成单元8。
图2为该导航装置实现三层渲染和自动叠加的示意图,它由三层画布来共同渲染,其中:
A层画布中绘制按钮层,当按钮未发生变化时可以不必更新;
B层画布中保存地图层中未发生变化的区域,用透明色擦除变化区域;
C层画布中绘制地图层中发生变化的区域;
绘制完成后图像合成单元2将自动合并三层画布并由触摸屏3显示。
图4描述了如何确定移动区域,地图移动前显示的区域为P1,地图移动后显示的区域为P2,移动前后重叠部分的区域为U。为便于计算,将变化区域U’划分为两个规则矩形:U1和U2。
由此可见:U=P1∩P2,
变化区域范围:U’=P2-U。
见图2,本实施例的导航装置的地图平滑滚动方法为:1)、根据用户点击操作,判断地图参数变化情况,如果未发生变化则无需更新画布,直接显示。2)、如果发生了变化,则更新内存画布。首先根据移动参数移动位于B层的显存画布,保存未变化区域,并用透明色擦除变化区域。3)、计算移动后变化区域范围,对于L型区域再将其划分成两个规则矩形,然后加载变化区域数据。4)、逐一解析数据中存在的对象,然后判断对象是否在变化区域范围内,如果在范围内就用变化区域裁剪对象,然后在第C层显存画布中绘制对象,如果不在范围内就接着解析下一个对象,直到全部对象解析完成。5)、对于A层显存中的按钮等对象如未发生变化则无需更新,最后显卡将会自动合并A、B、C三层显存画布并显示出来。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而这些属于本发明的精神所引伸出的显而易见的变化或变动仍处于本发明的保护范围之中。