CN103605462A - 一种地图图像显示方法及控制器 - Google Patents
一种地图图像显示方法及控制器 Download PDFInfo
- Publication number
- CN103605462A CN103605462A CN201310596700.7A CN201310596700A CN103605462A CN 103605462 A CN103605462 A CN 103605462A CN 201310596700 A CN201310596700 A CN 201310596700A CN 103605462 A CN103605462 A CN 103605462A
- Authority
- CN
- China
- Prior art keywords
- map image
- map
- buffer zone
- controller
- moving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例公开了一种地图图像显示方法及控制器。本发明实施例方法包括控制器在预置的第一缓冲区中绘制地图图像,所述控制器接收用户输入的移动地图触发指令,若所述移动地图触发指令满足预定条件,则所述控制器将移动后的所述地图图像绘制在所述第二缓冲区中,所述控制器将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。本发明实施例使得第一缓冲区在更新地图图像时,不需要重新绘制图像,而是可以直接将第二缓冲区中地图图像更新到第一缓冲区中,保障了地图移动过程的流畅性,提升了地图移动的效率。
Description
技术领域
本发明涉及图像显示领域,尤其涉及的是一种地图图像显示方法及控制器。
背景技术
目前,多数桌面端的GIS(地理信息系统,Geographic Information System)组件都没有提供地图无白边显示的功能,也就是在移动地图时,终端显示屏所显示的地图的某些区域没有实时的显示地图,而是使用白色的空白区域替代,就是所谓的白边。一些Web端的地图,比如百度地图,在移动地图时,虽然进行实时绘制,但是由于实时绘制需要一定时间,而移动地图的速度较快,所以也会看到白色区域,从而影响了用户体验。
为解决地图无白边平移的问题,在实际应用中,可在每次地图显示时,预先在内存中绘制一个缓冲区,需要显示时,把该缓冲区的中心区域存储的图像拷贝到当前地图显示窗口。该方法在理论上能完全实现地图的无白边平移。
但传统的方法存在的问题是每次缓冲区的更新都是在前一次地图移动结束以后才进行,无法保障地图移动过程的流畅性,而且两次地图移动的过程耗时较长,使得地图移动效率较低。
发明内容
本发明实施例提供了一种地图图像显示方法及控制器,本发明实施例能够保障地图移动过程的流畅性,提升地图移动效率。
一种地图图像显示方法,其中,包括:
控制器在预置的第一缓冲区中绘制地图图像,并将绘制在所述第一缓冲区中的地图图像同步到第二缓冲区;
所述控制器将所述第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
所述控制器接收用户输入的移动地图触发指令;
所述控制器控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像;
若所述移动地图触发指令满足预定条件,则所述控制器将移动后的所述地图图像绘制在所述第二缓冲区中;
所述控制器将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
所述的地图图像显示方法,其中,
若所述移动地图触发指令不满足预定条件,则所述控制器不在所述第二缓冲区中绘制地图图像。
所述的地图图像显示方法,其中,
所述移动地图触发指令具体包括用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
所述的地图图像显示方法,其中,所述地图图像显示方法还包括:
所述第一缓冲区和所述第二缓冲区以九宫格的形状进行显示;
所述控制器将所述第一缓冲区的中间格设置为所述地图显示区域,以使位于所述中间格中的地图图像显示在所述终端显示屏上;
所述控制器接收用户输入的所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离;
所述控制器控制所述地图图像根据所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离进行对应的移动,以使所述终端显示屏显示移动后的位于所述中间格中的地图图像;
所述控制器判断所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离是否满足预定条件;
若是,则所述控制器将移动后的所述地图图像绘制在所述第二缓冲区中;
所述控制器将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
所述的地图图像显示方法,其中,所述控制器判断所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离是否满足预定条件具体包括:
所述控制器判断所述控制地图图像横向移动的距离或所述控制地图图像纵向移动的距离是否大于或等于所述第一缓冲区单元格宽和高的最小值;
若是,则确定满足所述预定条件;
若否,则确定不满足所述预定条件。
所述的地图图像显示方法,其中,所述控制器在所述第一缓冲区中绘制地图图像具体包括:
所述控制器判断与所述第一缓冲区对应的地图图像是否存储在本地硬盘中;
若是,则所述控制器将所述地图图像绘制在所述第一缓冲区中;
若否,则所述控制器从服务器端获取所述地图图像,并将获取到的所述地图图像存储在本地硬盘中,所述控制器将所述地图图像绘制在所述第一缓冲区中。
所述的地图图像显示方法,其中,所述控制器控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像具体包括:
所述控制器判断移动后的所述地图图像是否存储在本地硬盘中;
若是,则所述控制器将与所述地图显示区域对应的地图图像绘制在所述地图显示区域中;
若否,则所述控制器从服务器端获取移动后的所述地图图像,并将获取到的所述地图图像存储在本地硬盘中,所述控制器将与所述地图显示区域对应的地图图像绘制在所述地图显示区域中。
一种控制器,其中,包括:
第一地图图像绘制单元,用于在预置的第一缓冲区中绘制地图图像,并将绘制在所述第一缓冲区中的地图图像同步到第二缓冲区;
地图图像显示单元,用于将所述第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
触发指令接收单元,用于接收用户输入的移动地图触发指令;
第一地图图像移动单元,用于控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像;
第二地图图像绘制单元,用于若所述移动地图触发指令满足预定条件,则将移动后的所述地图图像绘制在所述第二缓冲区中;
第一缓冲区更新单元,用于将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
所述的控制器,其中,所述控制器还包括:
第二地图图像移动单元,用于若所述移动地图触发指令不满足预定条件,则不在所述第二缓冲区中绘制地图图像。
所述的控制器,其中,所述触发指令接收单元还用于,接收用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
本发明实施例提供了一种地图图像显示方法及控制器,该地图显示方法为控制器在第一缓冲区中绘制地图图像,若移动地图触发指令满足预定条件,则控制器控制地图图像根据移动地图触发指令进行对应的移动,并将移动后地图图像绘制在第二缓冲区中,并将位于第二缓冲区中的,移动后的地图图像对应更新到第一缓冲区中。因本发明实施例中在移动地图触发指令满足预定条件时,将第二缓冲区中的地图图像进行更新,使得第一缓冲区在更新地图图像时,不需要重新绘制,而是可以直接将第二缓冲区中地图图像更新到第一缓冲区中,从而不需要重新绘制地图图像,保障了地图移动过程的流畅性,提升了地图移动的效率。
附图说明
图1是本发明实施例所提供的地图图像显示方法的一个实施例步骤流程图;
图2是本发明实施例所提供的地图图像显示方法的另一个实施例步骤流程图;
图3是本发明实施例所提供的地图图像显示方法的另一个实施例步骤流程图;
图4是本发明实施例所提供的地图图像显示方法的另一个实施例步骤流程图;
图5是本发明实施例所提供的控制器的一个实施例结构示意图;
图6是本发明实施例所提供的控制器的另一个实施例结构示意图。
具体实施方式
本发明实施例提供了一种地图图像显示方法,用于保障地图移动过程的流畅性和效率。
以下结合图1对本发明实施例所提供的地图图像显示方法做详细说明:
101、控制器在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
控制器预先在内存中设置第一缓冲区和第二缓冲区,且该控制器接收用户输入的显示地图操作指令,控制器将与用户输入的显示地图操作指令对应的地图图像绘制在该第一缓冲区中。
当地图图像绘制完成,控制器将位于第一缓冲区中的地图图像更新到第二缓冲区中,使得位于第一缓冲区的地图图像与位于第二缓冲区的地图图像相同。
102、该控制器将该第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
在该第一缓冲区中设置有地图显示区域,为使得地图移动过程中不会出现白边,则该地图显示区域的面积可小于该第一缓冲区的面积。
保存在地图显示区域中的地图图像可通过终端显示屏进行显示。
103、该控制器接收用户输入的移动地图触发指令;
当用户需要移动该终端显示屏上所显示的地图图像时,即可输入移动地图触发指令。
其中,用户输入移动地图触发指令的具体方式在此不作限定,例如可通过在触摸屏上触摸输入移动地图触发指令,还可通过鼠标输入移动地图触发指令。
104、该控制器控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该地图显示区域中的地图图像;
控制器预先根据终端显示屏的大小、第一缓冲区的形状和大小等设置该预定条件。
控制器控制地图图像根据该移动地图触发指令进行对应的移动,并将移动后,与地图显示区域对应的地图图像绘制在地图显示区域中,从而使得终端显示屏显示位于地图显示区域中的地图图像。
105、若该移动地图触发指令满足预定条件,则该控制器将移动后的该地图图像绘制在该第二缓冲区中;
若用户输入的控制地图图像进行对应移动的移动地图触发指令满足预定条件,则该控制器开启线程,以使控制器将移动后的地图图像绘制在第二缓冲区中,即第二缓冲区根据该线程进行对应更新。
此时,第一缓冲区中所存储的地图图像为地图移动之前的地图图像,而第二缓冲区中所存储的地图图像为地图移动之后的地图图像。
即在地图移动之后,将地图图像异步更新到第二缓冲区中。
106、该控制器将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中。
当地图移动完成,控制器将位于第二缓冲区中的地图图像对应更新到第一缓冲区中,使得第一缓冲中所存储的地图图像与第二缓冲区中所存储的地图图像一致。
本实施例中,地图图像可根据用户输入的移动地图触发指令进行对应的移动,并将移动完成的地图图像更新到第二缓冲区中,当地图移动完成,更新第一缓冲区中的地图图像时,第一缓冲区不需要重新绘制地图图像,而是可直接将第二缓冲区中的地图图像更新到第一缓冲区中即可,因第一缓冲区不需要重新绘制地图图像,从而保障了地图移动过程中的流畅性,提升了地图移动的效率,为用户带来了方便。
以上实施例说明了如何进行地图图像显示,以下结合图2实施例说明控制器如何根据用户输入的移动地图触发指令对第二缓冲区进行不同的处理:
201、控制器在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
202、该控制器将该第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
203、该控制器接收用户输入的移动地图触发指令;
其中,步骤201至步骤203与图1所示的步骤101至步骤103过程相同,在此不再赘述。
204、该控制器控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该地图显示区域中的地图图像;
具体地,该移动地图触发指令具体包括用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
205、控制器判断用户输入的移动地图触发指令是否满足预定条件,若是,则进行步骤206,若否,则进行步骤208;
控制器对该移动地图触发指令进行判断,即判断用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离是否超出地图显示区域长和宽的最小值;
若控制地图图像横向移动的距离或控制地图图像纵向移动的距离超出,则说明用户输入的移动地图触发指令满足预定条件;
若控制地图图像横向移动的距离或控制地图图像纵向移动的距离没有超出,则说明用户输入的移动地图触发指令不满足预定条件。
206、该控制器将移动后的该地图图像绘制在该第二缓冲区中;
若用户输入的移动地图触发指令满足预定条件,则控制器需要将对应的地图图像更新到第二缓冲区中。
207、该控制器将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中;
当控制器将对应的地图图像绘制到第二缓冲区后,第一缓冲区根据第二缓冲区中的地图图像进行对应的更新,使得第一缓冲区中的地图图像与第二缓冲区中的地图图像一致。
208、该控制器不在该第二缓冲区中绘制地图图像。
若该移动地图触发指令不满足预定条件,说明用户输入的控制地图图像横向移动的距离或控制地图图像纵向移动的距离没有超过地图显示区域长和宽的最小值,此时不对第二缓冲区中的地图图像进行更新。
本实施例中,控制器判断用户输入的移动地图触发指令是否满足预定条件,若满足,则说明地图图像根据移动地图触发指令进行了较大范围的移动,则控制器将移动后的地图图像绘制到第二缓冲区中,使得第一缓冲区在更新地图图像时,直接根据第二缓冲区中的地图图像进行更新即可,使得第一缓冲区不需要重新绘制地图图像;且第二缓冲区的更新过程和地图图像移动的过程是异步的,目的是在地图移动一定距离后,在程序后台预先绘制移动后的地图图像到第二缓冲区,该第二缓冲区为第一缓冲区做准备,这样在更新第一缓冲区地图图像时,会取得比直接从内存进行拷贝更快的速度。
图2实施例说明了控制器如何根据用户输入的移动地图触发指令对第二缓冲区进行不同的处理,以下结合图3所示的实施例说明以九宫格形状进行显示的第一缓冲区和第二缓冲区是如何进行地图图像显示的:
301、控制器预置以九宫格的形状进行显示的第一缓冲区和该第二缓冲区;
该控制器根据用户的操作打开地图显示应用程序,且控制器获取用户根据经纬度或地址名称搜索等方式确定的地图图像,并需要将该地图图像绘制在第一缓冲区中,控制器获取该地图图像的具体的方式请见步骤302。
302、该控制器判断与该第一缓冲区对应的地图图像是否存储在本地硬盘中,若否,则进行步骤303;若是,则进行步骤304;
303、该控制器从服务器端获取该地图图像,并将获取到的该地图图像存储在本地硬盘中;
即若对应的地图图像没有预先存储在本地硬盘中,则控制器需要从服务器端获取该对应的地图图像。
304、控制器在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
步骤304与图1所示的步骤101过程相同,在此不再赘述。
305、该控制器将该第一缓冲区的中间格设置为该地图显示区域,以使位于该中间格中的地图图像显示在该终端显示屏上;
306、该控制器接收用户输入的该控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离;
当用户需要移动地图图像时,则输入控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离。
307、该控制器判断移动后的该地图图像是否存储在本地硬盘中,若否,则进行步骤308,若是,则进行步骤309;
308、该控制器从服务器端获取移动后的该地图图像,并将获取到的该地图图像存储在本地硬盘中;
309、控制器将与该地图显示区域对应的地图图像绘制在该地图显示区域中;
本实施例中,该地图显示区域为第一缓冲区的中间格。
该控制器将移动后,与中间格对应的地图图像绘制在中间格中,从而使得终端显示屏显示位于中间格中的地图图像。
310、控制器通过终端显示屏显示移动后的位于中间格的地图图像;
311、该控制器判断该控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离是否满足预定条件,若是,则进行步骤312,若否,则进行步骤314;
其中,控制器判断其获取到的控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离是否大于或等于该第一缓冲区单元格宽和高的最小值;
若是,则确定满足该预定条件;
若否,则确定不满足该预定条件。
312、该控制器将移动后的该地图图像绘制在该第二缓冲区中;
若用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离满足预定条件,说明地图图像移动的范围较大,则需要对第二缓冲区中的地图图像进行更新。
313、该控制器将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中;
当控制器将对应地图图像绘制到第二缓冲区中后,第一缓冲区即可根据第二缓冲区中的地图图像进行更新,以使更新后的第一缓冲区中的地图图像与第二缓冲区中的地图图像相同。
314、控制器不在该第二缓冲区中绘制地图图像。
若控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离不满足预定条件,则说明地图图像移动的范围较小,无需对第二缓冲中的地图图像进行更新,所以无需在第二缓冲区绘制地图图像。
本实施例中,第一缓冲区和第二缓冲区采用九宫格的形状进行设置,且第一缓冲区的中间格为地图图像显示区域,使得位于中间格的地图图像能够通过终端显示屏进行显示,控制器判断用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离是否大于或等于单元格宽和高的最小值,即只要控制地图图像横向移动的距离和控制地图图像纵向移动的距离有一个大于或等于单元格宽和高的最小值,则控制器会将移动后的地图图像绘制到第二缓冲区中,使得第二缓冲区中的地图图像进行更新,并将更新后的地图图像绘制到第一缓冲区中,使得第一缓冲区进行地图图像更新时,无需从内存中获取地图图像进行更新,从而保障了地图移动过程中的流畅性,提升了地图移动的效率。
需明确的是,第一缓冲区和第二缓冲区的形状不仅仅局限于九宫格,只要同时满足两个条件即可:
1)该第一缓冲区的范围大于地图显示区域的范围;
2)该地图显示区域的边缘距离第一缓冲区的边缘有一定的距离,最好将地图显示区域设置在第一缓冲区的中央。
满足上述条件进行地图图像的显示,因第一缓冲区预先存储的地图图像的范围大于地图显示区域所存储的地图图像的范围,使得地图图像根据用户的指令进行对应的移动时,也不会超出第一缓冲区的范围,从而避免地图移动过程中出现白边。
图1至图3所示的实施例是应用在中小屏幕上的,以下结合图4所示实施例说明本发明实施例应用在大分辨率的拼接墙上是如何进行地图图像的显示:
401、控制器预置第一缓冲区和第二缓冲区,该第一缓冲区中央区域设置有拼接墙显示区域,该拼接墙显示区域的分辨率为m*n像素,该第一缓冲区的分辨率为(m+2X)*(n+2Y)像素;
即该拼接墙显示区域的左边界距离第一缓冲区的左边界为X个像素,该拼接墙显示区域的右边界距离第一缓冲区的右边界也为X个像素;且该拼接墙显示区域的上边界距离第一缓冲区的上边界为Y个像素,该拼接墙显示区域的下边界距离第一缓冲区的下边界为Y个像素。
402、控制器在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
403、该控制器将该第一缓冲区中保存的满足预置条件的拼接墙显示区域中的地图图像显示在终端显示屏上;
其中,该预置条件为:
1)、(m+2x)*(n+2y)*4<0.5GB;
2)、x/y=m/n;
通过该预置条件将第一缓冲区内的像素字节限制在0.5GB以内,同时保证拼接墙显示区域设置在第一缓冲区的中心区域,进而有效的避免移动地图过程中产生的白边,提升用户体验。
404、该控制器控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该拼接墙显示区域中的地图图像;
405、该控制器接收用户输入的移动地图触发指令;
406、该控制器控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该拼接墙显示区域中的地图图像;
407、控制器判断用户输入的移动地图触发指令是否满足预定条件,若是,则进行步骤408,若否,则进行步骤410;
408、该控制器将移动后的该地图图像绘制在该第二缓冲区中;
409、该控制器将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中;
410、该控制器不在该第二缓冲区中绘制地图图像。
本实施例中,控制器预置第一缓冲区和该第二缓冲区,该第一缓冲区中央区域设置有拼接墙显示区域,该拼接墙显示区域的分辨率为m*n像素,该第一缓冲区的分辨率为(m+2X)*(n+2Y)像素,使得满足一定条件的拼接墙能够提升地图移动的效率,保障了地图移动的流畅性。
为更好的理解本发明实施例,以下举具体应用场景对本发明实施例所提供的地图图像显示方法做进一步详细说明:
该实施例较佳可应用于中小屏幕进行地图图像的显示;
控制器预置九宫格形状的第一缓冲区M1和第二缓冲区M2;
九宫格的每一个单元格的大小均相等,且宽为WndW,高为WndH;
其中,WndW和WndH均小于等于1920*1080像素;
第一缓冲区M1和第二缓冲区M2的左上角的坐标为(x0,y0);
则该第一缓冲区M1和第二缓冲区M2的中心点为(x0+3WndW/2,y0+3WndH/2);
当用户需要通过终端显示屏显示地图图像时,则输入显示地图图像触发指令;
控制器接收到用户输入的显示地图图像触发指令后,判断与该显示地图图像触发指令对应的地图图像是否存储在本地硬盘中;
若没有存储在本地硬盘中,则控制器从服务器端获取地图图像,并将获取到的该地图图像存储在本地硬盘中,控制器再从本地硬盘中将该地图图像调取到内存;
若存储在本地硬盘中,则控制器直接从本地硬盘中将地图图像调取到内存;
控制器将获取到的地图图像绘制到第一缓冲区和第二缓冲区中,使得第一缓冲区中的地图图像与第二缓冲区中的地图图像相同;
控制器将第一缓冲区的中间格设置为地图显示区域,以使位于该中间格中的地图图像显示在该终端显示屏上;
其中,该中间格为坐标(x0+WndW,y0+WndH),(x0+2WndW,y0+WndH),(x0+WndW,y0+2WndH)和(x0+2WndW,y0+2WndH)组成的四边形区域;
控制器接收用户输入的控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离,在本实施例中,用户输入的控制地图图像横向移动的距离为dx,控制地图图像纵向移动的距离为dy;
控制器根据控制地图图像横向移动的距离dx和控制地图图像纵向移动的距离dy对地图图像进行对应的移动;
该控制器判断移动后的该地图图像是否存储在本地硬盘中;
若否,则该控制器从服务器端获取移动后的该地图图像,并将获取到的该地图图像存储在本地硬盘中,并将与中间格对应的地图图像绘制在该地图显示区域中;
若是,则控制器将移动后,与中间格对应的地图图像绘制在中间格中,从而使得终端显示屏显示位于中间格中的地图图像;
控制器将中间格中的地图图像通过终端显示屏显示出来;
其中,与中间格对应的地图图像的范围为坐标(x0+WndW+dx,y0+WndH+dy)(x0+2WndW+dx,y0+WndH+dy),(x0+WndW+dx,y0+2WndH+dy)和(x0+2WndW+dx,y0+2WndH+dy)组成的四边形区域;
控制器将移动后的,与中间格对应的地图图像拷贝到终端显示屏上;
该控制器判断dx或dy是否大于或等于预置值K;
其中,K为WndW和WndH中的最小值;
在本实施例中用户输入的dx大于WndW,即用户输入的控制地图图像横向移动的距离大于单元格的宽;
该控制器将移动后的该地图图像绘制在该第二缓冲区中;
其中,根据用户输入的移动地图触发指令移动后的地图图像为坐标(x0+dx,y0+dy),(x0+3WndW+dx,y0+dy),(x0+dx,y0+3WndH+dy)和(x0+3WndW+dx,y0+3WndH+dy)组成的四边形区域;
控制器将位于第一缓冲区中的地图图像绘制到第二缓冲区中,使得第一缓冲区和第二缓冲区中的地图图像相同;
中间格的地图图像已经绘制完成,在将第二缓冲区中的地图图像绘制到第一缓冲区中时,可不再绘制位于中间格区域中的地图图像;
即本实施例中采用了两个内存缓冲,第一缓冲区用来拷贝地图图像到终端显示屏,第二缓冲区用来异步缓存第一缓冲区的部分数据。
以上实施例对地图图像显示方法进行详细说明,以下结合图5对本发明实施例所提供的控制器的结构进行详细说明:
该控制器具体包括:
第一地图图像绘制单元501,用于在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
地图图像显示单元502,用于将该第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
触发指令接收单元503,用于接收用户输入的移动地图触发指令;
第一地图图像移动单元504,用于控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该地图显示区域中的地图图像;
第二地图图像绘制单元505,用于若该移动地图触发指令满足预定条件,则将移动后的该地图图像绘制在该第二缓冲区中;
第一缓冲区更新单元506,用于将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中。
本实施例中,第一地图图像移动单元504可根据用户输入的移动地图触发指令将地图图像进行对应的移动,第二地图图像绘制单元505将移动完成的地图图像更新到第二缓冲区中,当地图移动完成,第一缓冲区更新单元506更新第一缓冲区中的地图图像时,第一缓冲区不需要重新绘制地图图像,而是可直接将第二缓冲区中的地图图像更新到第一缓冲区中即可,因第一缓冲区不需要重新绘制地图图像,从而保障了地图移动过程中的流畅性,提升了地图移动的效率,为用户带来了方便。
图5所示的实施例对控制器的结构进行详细说明,以下结合图6所示说明包含有第二地图图像移动单元的控制器的结构进行详细说明:
该控制器具体包括:
第一地图图像绘制单元601,用于在预置的第一缓冲区中绘制地图图像,并将绘制在该第一缓冲区中的地图图像同步到第二缓冲区;
地图图像显示单元602,用于将该第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
触发指令接收单元603,用于接收用户输入的移动地图触发指令;
其中,触发指令接收单元603还用于接收用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
第一地图图像移动单元604,用于控制该地图图像根据该移动地图触发指令进行对应的移动,以使该终端显示屏显示移动后的位于该地图显示区域中的地图图像;
第二地图图像绘制单元605,用于若该移动地图触发指令满足预定条件,则将移动后的该地图图像绘制在该第二缓冲区中;
第一缓冲区更新单元606,用于将位于该第二缓冲区中的地图图像对应更新到该第一缓冲区中;
第二地图图像移动单元607,用于若该移动地图触发指令不满足预定条件,则不在该第二缓冲区中绘制地图图像。
本实施例中,第一地图图像移动单元604可根据用户输入的移动地图触发指令将地图图像进行对应的移动,第二地图图像绘制单元605将移动完成的地图图像更新到第二缓冲区中,当地图移动完成,第一缓冲区更新单元606更新第一缓冲区中的地图图像时,第一缓冲区不需要重新绘制地图图像,而是可直接将第二缓冲区中的地图图像更新到第一缓冲区中即可,且若该移动地图触发指令不满足预定条件,则第二地图图像移动单元607不在该第二缓冲区中绘制地图图像。因第一缓冲区不需要重新绘制地图图像,从而保障了地图移动过程中的流畅性,提升了地图移动的效率,为用户带来了方便。
为更好的理解本发明实施例,以下举具体应用场景对本发明实施例所提供的控制器做进一步详细说明:
该实施例较佳可应用于中小屏幕进行地图图像的显示;
第一地图图像绘制单元601预置九宫格形状的第一缓冲区M1和第二缓冲区M2;
九宫格的每一个单元格的大小均相等,且宽为WndW,高为WndH;
其中,WndW和WndH均小于等于1920*1080像素;
第一缓冲区M1和第二缓冲区M2的左上角的坐标为(x0,y0);
则该第一缓冲区M1和第二缓冲区M2的中心点为(x0+3WndW/2,y0+3WndH/2);
当用户需要通过终端显示屏显示地图图像时,则输入显示地图图像触发指令;
接收到用户输入的显示地图图像触发指令,判断与该显示地图图像触发指令对应的地图图像是否存储在本地硬盘中;
若没有存储在本地硬盘中,则从服务器端获取地图图像,并将获取到的该地图图像存储在本地硬盘中,再从本地硬盘中将该地图图像调取到内存;
若存储在本地硬盘中,则直接从本地硬盘中将地图图像调取到内存;
第一地图图像绘制单元601将获取到的地图图像绘制到第一缓冲区和第二缓冲区中,使得第一缓冲区中的地图图像与第二缓冲区中的地图图像相同;
地图图像显示单元602将第一缓冲区的中间格设置为地图显示区域,以使位于该中间格中的地图图像显示在该终端显示屏上;
其中,该中间格为坐标(x0+WndW,y0+WndH),(x0+2WndW,y0+WndH),(x0+WndW,y0+2WndH)和(x0+2WndW,y0+2WndH)组成的四边形区域;
触发指令接收单元603接收用户输入的控制地图图像横向移动的距离和/或该控制地图图像纵向移动的距离,在本实施例中,用户输入的控制地图图像横向移动的距离为dx,控制地图图像纵向移动的距离为dy;
第一地图图像移动单元604根据控制地图图像横向移动的距离dx和控制地图图像纵向移动的距离dy对地图图像进行对应的移动;
并判断移动后的该地图图像是否存储在本地硬盘中;
若否,则该从服务器端获取移动后的该地图图像,并将获取到的该地图图像存储在本地硬盘中,并将与中间格对应的地图图像绘制在该地图显示区域中;
若是,则将移动后,与中间格对应的地图图像绘制在中间格中,从而使得终端显示屏显示位于中间格中的地图图像;
第一地图图像移动单元604将中间格中的地图图像通过终端显示屏显示出来;
其中,与中间格对应的地图图像的范围为坐标(x0+WndW+dx,y0+WndH+dy)(x0+2WndW+dx,y0+WndH+dy),(x0+WndW+dx,y0+2WndH+dy)和(x0+2WndW+dx,y0+2WndH+dy)组成的四边形区域;
第一地图图像移动单元604将移动后的,与中间格对应的地图图像拷贝到终端显示屏上;
第一地图图像移动单元604判断dx或dy是否大于或等于预置值K;
其中,K为WndW和WndH中的最小值;
在本实施例中用户输入的dx大于WndW,即用户输入的控制地图图像横向移动的距离大于单元格的宽;
第二地图图像绘制单元605将移动后的该地图图像绘制在该第二缓冲区中;
其中,根据用户输入的移动地图触发指令移动后的地图图像为坐标(x0+dx,y0+dy),(x0+3WndW+dx,y0+dy),(x0+dx,y0+3WndH+dy)和(x0+3WndW+dx,y0+3WndH+dy)组成的四边形区域;
第一缓冲区更新单元606将位于第一缓冲区中的地图图像绘制到第二缓冲区中,使得第一缓冲区和第二缓冲区中的地图图像相同;
中间格的地图图像已经绘制完成,在将第二缓冲区中的地图图像绘制到第一缓冲区中时,可不再绘制位于中间格区域中的地图图像;
即本实施例中采用了两个内存缓冲,第一缓冲区用来拷贝地图图像到终端显示屏,第二缓冲区用来异步缓存第一缓冲区的部分数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种地图图像显示方法,其特征在于,包括:
控制器在预置的第一缓冲区中绘制地图图像,并将绘制在所述第一缓冲区中的地图图像同步到第二缓冲区;
所述控制器将所述第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
所述控制器接收用户输入的移动地图触发指令;
所述控制器控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像;
若所述移动地图触发指令满足预定条件,则所述控制器将移动后的所述地图图像绘制在所述第二缓冲区中;
所述控制器将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
2.根据权利要求1所述的地图图像显示方法,其特征在于,
若所述移动地图触发指令不满足预定条件,则所述控制器不在所述第二缓冲区中绘制地图图像。
3.根据权利要求1所述的地图图像显示方法,其特征在于,
所述移动地图触发指令具体包括用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
4.根据权利要求1或3所述的地图图像显示方法,其特征在于,所述地图图像显示方法还包括:
所述第一缓冲区和所述第二缓冲区以九宫格的形状进行显示;
所述控制器将所述第一缓冲区的中间格设置为所述地图显示区域,以使位于所述中间格中的地图图像显示在所述终端显示屏上;
所述控制器接收用户输入的所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离;
所述控制器控制所述地图图像根据所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离进行对应的移动,以使所述终端显示屏显示移动后的位于所述中间格中的地图图像;
所述控制器判断所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离是否满足预定条件;
若是,则所述控制器将移动后的所述地图图像绘制在所述第二缓冲区中;
所述控制器将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
5.根据权利要求4所述的地图图像显示方法,其特征在于,所述控制器判断所述控制地图图像横向移动的距离和/或所述控制地图图像纵向移动的距离是否满足预定条件具体包括:
所述控制器判断所述控制地图图像横向移动的距离或所述控制地图图像纵向移动的距离是否大于或等于所述第一缓冲区单元格宽和高的最小值;
若是,则确定满足所述预定条件;
若否,则确定不满足所述预定条件。
6.根据权利要求1所述的地图图像显示方法,其特征在于,所述控制器在所述第一缓冲区中绘制地图图像具体包括:
所述控制器判断与所述第一缓冲区对应的地图图像是否存储在本地硬盘中;
若是,则所述控制器将所述地图图像绘制在所述第一缓冲区中;
若否,则所述控制器从服务器端获取所述地图图像,并将获取到的所述地图图像存储在本地硬盘中,所述控制器将所述地图图像绘制在所述第一缓冲区中。
7.根据权利要求1所述的地图图像显示方法,其特征在于,所述控制器控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像具体包括:
所述控制器判断移动后的所述地图图像是否存储在本地硬盘中;
若是,则所述控制器将与所述地图显示区域对应的地图图像绘制在所述地图显示区域中;
若否,则所述控制器从服务器端获取移动后的所述地图图像,并将获取到的所述地图图像存储在本地硬盘中,所述控制器将与所述地图显示区域对应的地图图像绘制在所述地图显示区域中。
8.一种控制器,其特征在于,包括:
第一地图图像绘制单元,用于在预置的第一缓冲区中绘制地图图像,并将绘制在所述第一缓冲区中的地图图像同步到第二缓冲区;
地图图像显示单元,用于将所述第一缓冲区中保存的地图显示区域中的地图图像显示在终端显示屏上;
触发指令接收单元,用于接收用户输入的移动地图触发指令;
第一地图图像移动单元,用于控制所述地图图像根据所述移动地图触发指令进行对应的移动,以使所述终端显示屏显示移动后的位于所述地图显示区域中的地图图像;
第二地图图像绘制单元,用于若所述移动地图触发指令满足预定条件,则将移动后的所述地图图像绘制在所述第二缓冲区中;
第一缓冲区更新单元,用于将位于所述第二缓冲区中的地图图像对应更新到所述第一缓冲区中。
9.根据权利要求8所述的控制器,其特征在于,所述控制器还包括:
第二地图图像移动单元,用于若所述移动地图触发指令不满足预定条件,则不在所述第二缓冲区中绘制地图图像。
10.根据权利要求8所述的控制器,其特征在于,所述触发指令接收单元还用于,接收用户输入的控制地图图像横向移动的距离和/或控制地图图像纵向移动的距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596700.7A CN103605462A (zh) | 2013-11-21 | 2013-11-21 | 一种地图图像显示方法及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310596700.7A CN103605462A (zh) | 2013-11-21 | 2013-11-21 | 一种地图图像显示方法及控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103605462A true CN103605462A (zh) | 2014-02-26 |
Family
ID=50123694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310596700.7A Pending CN103605462A (zh) | 2013-11-21 | 2013-11-21 | 一种地图图像显示方法及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103605462A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902294A (zh) * | 2014-04-01 | 2014-07-02 | 广东威创视讯科技股份有限公司 | 一种浏览器图像显示方法及终端 |
CN104063158A (zh) * | 2014-06-05 | 2014-09-24 | 北京东进航空科技股份有限公司 | 矢量地图绘制方法和装置 |
CN107608588A (zh) * | 2017-10-20 | 2018-01-19 | 京东方科技集团股份有限公司 | 显示层、显示方法、显示系统和操作系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163749A (en) * | 1998-06-05 | 2000-12-19 | Navigation Technologies Corp. | Method and system for scrolling a map display in a navigation application |
CN101285688A (zh) * | 2008-05-30 | 2008-10-15 | 同济大学 | 导航系统的导航方法 |
CN101358851A (zh) * | 2007-08-03 | 2009-02-04 | 北京灵图软件技术有限公司 | 一种在本地缓存导航数据的方法、系统及客户端装置 |
CN101742395A (zh) * | 2008-11-21 | 2010-06-16 | 厦门雅迅网络股份有限公司 | 一种由手机下载和显示地图数据的方法 |
CN102298873A (zh) * | 2010-06-24 | 2011-12-28 | 科菱航睿空间信息技术有限公司 | 导航电子地图数据存储方法及基于该存储方法的显示方法 |
CN102542903A (zh) * | 2010-12-30 | 2012-07-04 | 上海博泰悦臻电子设备制造有限公司 | 一种地图平滑移动的方法及装置 |
-
2013
- 2013-11-21 CN CN201310596700.7A patent/CN103605462A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163749A (en) * | 1998-06-05 | 2000-12-19 | Navigation Technologies Corp. | Method and system for scrolling a map display in a navigation application |
CN101358851A (zh) * | 2007-08-03 | 2009-02-04 | 北京灵图软件技术有限公司 | 一种在本地缓存导航数据的方法、系统及客户端装置 |
CN101285688A (zh) * | 2008-05-30 | 2008-10-15 | 同济大学 | 导航系统的导航方法 |
CN101742395A (zh) * | 2008-11-21 | 2010-06-16 | 厦门雅迅网络股份有限公司 | 一种由手机下载和显示地图数据的方法 |
CN102298873A (zh) * | 2010-06-24 | 2011-12-28 | 科菱航睿空间信息技术有限公司 | 导航电子地图数据存储方法及基于该存储方法的显示方法 |
CN102542903A (zh) * | 2010-12-30 | 2012-07-04 | 上海博泰悦臻电子设备制造有限公司 | 一种地图平滑移动的方法及装置 |
Non-Patent Citations (6)
Title |
---|
冯志红,赵拥军,李光茂: "消息调度模型下一种改进的双缓存地图漫游算法", 《测绘科学》 * |
奚玲,高博,于陆,宋国民: "嵌入式系统中地图快速漫游算法的实现", 《微计算机信息》 * |
李光茂: "嵌入式GIS地图显示加速方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王德泉: "xWorks下栅格地图显示解决方案", 《测绘通报》 * |
胡泽明,岳春生: "嵌入式GIS系统多缓存地图显示方法", 《信息工程大学学报》, vol. 11, no. 3, 30 June 2010 (2010-06-30), pages 317 - 321 * |
黄振: "基于WebGIS的电信资源系统性能优化研究与应用", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 05, 15 May 2011 (2011-05-15), pages 136 - 109 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902294A (zh) * | 2014-04-01 | 2014-07-02 | 广东威创视讯科技股份有限公司 | 一种浏览器图像显示方法及终端 |
CN103902294B (zh) * | 2014-04-01 | 2017-10-10 | 广东威创视讯科技股份有限公司 | 一种浏览器图像显示方法及终端 |
CN104063158A (zh) * | 2014-06-05 | 2014-09-24 | 北京东进航空科技股份有限公司 | 矢量地图绘制方法和装置 |
CN107608588A (zh) * | 2017-10-20 | 2018-01-19 | 京东方科技集团股份有限公司 | 显示层、显示方法、显示系统和操作系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100302249A1 (en) | Apparatus, systems and methods for layout of scene graphs using node bounding areas | |
EP2515275A1 (en) | Device and method for image generation | |
CN104793913A (zh) | 对象显示系统、对象显示控制程序及对象显示控制方法 | |
CN103744932A (zh) | 一种页面处理方法及装置 | |
CN103035164A (zh) | 一种地理信息系统渲染方法及系统 | |
CN103914320A (zh) | 一种显示方法和电子设备 | |
CN104765595A (zh) | 一种显示图形用户界面的方法及装置 | |
CN105808110A (zh) | 表格显示方法及显示设备 | |
CN104142776A (zh) | 一种图标处理方法及装置 | |
CN106777020A (zh) | 显示装置及显示方法 | |
CN105786308A (zh) | 字符串的显示方法和装置 | |
CN103605462A (zh) | 一种地图图像显示方法及控制器 | |
US20150077433A1 (en) | Algorithm for improved zooming in data visualization components | |
US20160062601A1 (en) | Electronic device with touch screen and method for moving application functional interface | |
CN103117052A (zh) | 信息处理设备、信息处理方法及程序 | |
CN104769523A (zh) | 交互式显示 | |
US10067715B2 (en) | Buffer-based update of state data | |
CN107391148B (zh) | 视图元素保存方法、装置、电子设备及计算机存储介质 | |
EP3008697B1 (en) | Coalescing graphics operations | |
CN109189537B (zh) | 页面信息的动态显示方法、计算设备及计算机存储介质 | |
CN109800039B (zh) | 一种用户界面展示方法、装置、电子设备及存储介质 | |
CN104035659A (zh) | 用于滚动内容的图形用户界面控制方法及系统 | |
CN103412797A (zh) | 一种电力运营监控中心大屏展示用控制系统 | |
JP2015197796A (ja) | 電子ホワイトボード装置、電子ホワイトボードの入力支援方法、及びプログラム | |
US9904665B2 (en) | Partial rasterization of web page tiles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140226 |