矢量地图绘制方法和装置制造方法

文档序号:6548752阅读:364来源:国知局
矢量地图绘制方法和装置制造方法
【专利摘要】本发明公开了一种矢量地图绘制方法和装置,所述方法包括:在显示屏幕上显示矢量地图后,若接收到鼠标拖拽指令则周期性地刷新矢量地图;在一个周期内刷新矢量地图的过程为:根据当前鼠标坐标确定出待显示区域的经纬度范围;并从存储于第一缓存中的预绘区域的矢量地图中提取出待显示区域的矢量地图后,覆盖第二缓存中的矢量地图,并根据第二缓存中的矢量地图进行显示;在接收到鼠标拖拽结束指令后,根据当前显示的区域的经纬度范围,重新确定预绘区域的经纬度范围,并绘制重新确定的预绘区域的矢量地图后更新第一缓存中的矢量地图。本发明的技术方案中,当鼠标拖曳地图时,对预绘区域的矢量地图进行提取,即可连续、不闪烁地显示矢量地图。
【专利说明】矢量地图绘制方法和装置

【技术领域】
[0001] 本发明涉及软件技术,尤其涉及一种矢量地图绘制方法和装置。

【背景技术】
[0002] 矢量地图已经广泛应用于GIS(Geographic Information System,地理信息系统)、 定位系统、导航系统等系统中。
[0003] 当用户利用鼠标拖拽显示在屏幕上的矢量地图时,根据用户鼠标的拖拽轨迹,绘 制矢量地图的一种方法包括:根据鼠标在屏幕中拖拽(即按住左键到松开左键)的位移,以 及屏幕与矢量地图之间的比例尺,确定出矢量地图的经纬度变化量;根据确定出的经纬度 变化量和拖拽前的矢量地图的经纬度范围,确定出拖拽后的矢量地图的经纬度范围;根据 确定出的经纬度范围内的地图数据,绘制出拖拽后的矢量地图并进行显示。
[0004] 例如屏幕上显示如图1所示的矢量地图,用户按住鼠标左键向屏幕右下方(如图 1中的箭头线所示)拖拽该矢量地图,在用户松开鼠标左键之前,屏幕上方和左方的区域暂 不显示矢量地图;用户松开鼠标后,通常需要等待一段时间(例如几毫秒)才显示拖拽后的 矢量地图;容易导致用户产生屏幕停顿、闪烁或者不流畅的感觉,用户的体验不佳。
[0005] 根据用户鼠标的拖拽轨迹,绘制矢量地图的另一种方法为:当鼠标处于拖拽过程 中(即按住左键不释放),周期性地绘制矢量地图。具体地,本周期开始时,根据鼠标在屏幕 中的位置,以及屏幕与矢量地图之间的比例尺,确定出本周期的矢量地图的经纬度变化量; 根据确定出的本周期的经纬度变化量和上个周期的矢量地图的经纬度范围,确定出本周期 的矢量地图的经纬度范围;根据本周期的矢量地图的经纬度范围内的地图数据,绘制出本 周期的矢量地图并进行显示。显然,本方法需要频繁刷新矢量地图中的各元素,很容易导 致矢量地图产生闪烁。此外,本方法运算量较大,当系统资源紧张时,无法及时绘制出每个 周期的矢量地图,也很容易导致用户产生屏幕停顿、闪烁或者不流畅的感觉,用户的体验不 佳。
[0006] 因此,有必要提供一种在鼠标拖拽过程中,可连续、无闪烁地显示矢量地图的矢量 地图绘制方法,以提高用户的体验。


【发明内容】

[0007] 本发明实施例提供了一种矢量地图绘制方法和装置,以实现在屏幕上拖拽矢量地 图的过程中,连续、无闪烁的显示矢量地图。
[0008] 根据本发明的一个方面,提供了一种矢量地图绘制方法,包括:
[0009] 在显示屏幕上显示矢量地图后,若接收到所述矢量地图中的鼠标拖拽指令,则周 期性地在显示屏幕上刷新矢量地图;其中,在一个周期内刷新矢量地图的过程为:根据当 前鼠标坐标确定出待显示区域的经纬度范围;并从存储于第一缓存中的预绘区域的矢量地 图中提取出待显示区域的矢量地图后,将提取出的矢量地图覆盖第二缓存中的矢量地图, 并根据第二缓存中的矢量地图在所述显示屏幕进行显示;
[0010] 在接收到鼠标拖拽结束指令后,根据所述显示屏幕上当前显示的区域的经纬度范 围,重新确定所述预绘区域的经纬度范围,并绘制重新确定的预绘区域中的矢量地图后,对 存储于所述第一缓存中的矢量地图进行更新。
[0011] 较佳地,所述显示屏幕上当前显示的区域具体为矩形区域。
[0012] 较佳地,所述根据所述显示屏幕上当前显示的区域的经纬度范围,重新确定所述 预绘区域的经纬度范围,具体包括:
[0013] 根据所述显示屏幕上当前显示的区域的四个顶点的经纬度(Xl,yi)、( Xl,y2)、 (x2, y)、(x2, y2),重新确定出所述预绘区域的四个顶点的经讳度(2x^X2, (2x^X2, 2y2-Υι)> (2χ2-Χι? 27^5^2) > (2x2-Xj? 2y2-Yj);
[0014] 其中,Xl、x2分别表示所述当前显示的区域的最小经度、最大经度, yi、y2分别表示 所述当前显示的区域的最小纬度、最大纬度。
[0015] 进一步,在所述显示屏幕上显示矢量地图之前,还包括:
[0016] 根据显示屏幕中即将显示矢量地图的显示区域的经纬度信息,确定出预绘区域 后,绘制出预绘区域的矢量地图;并将绘制出的预绘区域的矢量地图存储于第一缓存中; 将所述显示区域的矢量地图存储于第二缓存中。
[0017] 较佳地,根据当前鼠标坐标确定出待显示区域的经纬度范围,具体包括:
[0018] 确定出上个周期鼠标坐标与当前鼠标坐标所对应的矢量地图中的地点之间的经 度差和讳度差;
[0019] 将确定出的经度差、纬度差分别作为矢量地图在上个周期的显示区域与本周期的 待显示区域之间的经度差、纬度差;
[0020] 根据上个周期的显示区域与本周期的待显示区域之间的经度差和纬度差,以及上 个周期的显示区域的经纬度范围,确定出本周期的待显示区域的经纬度范围。
[0021] 根据本发明的另一个方面,还提供了一种矢量地图绘制装置,包括:
[0022] 指令解析模块,用于在接收到显示屏幕上所显示的矢量地图中鼠标拖拽指令后, 确定出所述鼠标拖拽指令所涉及的经纬度信息后输出;
[0023] 待显示区域确定模块,用于根据所述指令解析模块输出的经纬度信息,确定出待 显示区域的经纬度范围后,发送缓存更新通知;
[0024] 缓存更新模块,用于接收到所述缓存更新通知后,根据所述待显示区域确定模块 确定的所述待显示区域的经纬度范围,从存储于第一缓存中的预绘区域的矢量地图中提取 出待显示区域的矢量地图后,将提取出的矢量地图覆盖第二缓存中的矢量地图,并发送区 域更新通知;
[0025] 预绘区域更新模块,用于接收到所述区域更新通知后,根据所述显示屏幕上当前 显示的区域的经纬度范围,重新确定所述预绘区域的经纬度范围,并绘制重新确定的预绘 区域中的矢量地图后,对存储于所述第一缓存中的矢量地图进行更新;
[0026] 矢量地图显示模块,用于根据第二缓存中的矢量地图在所述显示屏幕进行显示。
[0027] 较佳地,所述显示屏幕上当前显示的区域具体为矩形区域。
[0028] 较佳地,所述预绘区域更新模块具体用于根据所述显示屏幕上当前显示的区域的 四个顶点的经讳度(Xp 、(Xp y2)、(x2, yi)、(x2, yd,重新确定出所述预绘区域的四个顶 点的经讳度(2x^X2, 2y「y2)、(2x^X2,2721)、(2X2-X! Jyfyj、(2X2-X! Jyfy);其中,Χρ χ2分别表示所述当前显示的区域的最小经度、最大经度,yi、y2分别表示所述当前显示的区 域的最小纬度、最大纬度。
[0029] 进一步,所述矢量地图绘制装置,还包括:
[0030] 预绘区域更新模块还用于在所述装置启动时,根据显示屏幕中即将显示矢量地图 的显示区域的经纬度信息,确定出预绘区域后,绘制出预绘区域的矢量地图;并将绘制出的 预绘区域的矢量地图存储于第一缓存中;将所述显示区域的矢量地图存储于第二缓存中。
[0031] 本发明实施例的技术方案中,鼠标在显示屏幕上一次拖曳过程中的待显示区域, 均落入本发明的预绘区域的范围内;且矢量地图绘制装置预先绘制出预绘区域的矢量地 图;使得鼠标拖曳过程中,矢量地图绘制装置可以周期性提取出待显示区域的矢量地图进 行显示;并在接收到下一个鼠标拖拽指令之前,及时完成对第一缓存中的预绘区域的矢量 地图的更新;从而可以使得显示屏幕中连续、不闪烁地显示矢量地图,可以提高用户的体 验。

【专利附图】

【附图说明】
[0032] 图1为现有的矢量地图示意图;
[0033] 图2a为本发明实施例的矢量地图绘制装置预先绘制出预绘区域的矢量地图存储 在缓存中的方法的流程图;
[0034] 图2b为本发明实施例的矩形的显示区域和预绘区域的示意图;
[0035] 图3a为本发明实施例的矢量地图绘制装置可以周期性地显示刷新矢量地图的方 法的流程图;
[0036] 图3b、图3c、图3d分别为在本发明实施例的上个周期的显示区域中,鼠标分别进 行水平拖拽、垂直拖拽和沿矩形显示区域对角线拖拽的示意图;
[0037] 图4为本发明实施例的矢量地图绘制装置更新第一缓存中绘制区域的矢量地图 的方法的流程图;
[0038] 图5为本发明实施例的矢量地图绘制装置的内部结构框架示意图。

【具体实施方式】
[0039] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实 施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为 了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以 实现本发明的这些方面。
[0040] 本申请使用的"模块"、"系统"等术语旨在包括与计算机相关的实体,例如但不限 于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理 器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计 算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的 一个进程和/或线程内。
[0041] 本发明的发明人考虑到,可以在缓存中预先存储包括显示区域在内的整个预绘区 域的矢量地图;例如,这个预绘区域的大小可以是显示区域大小的9倍。当用户拖拽当前显 示的区域中的矢量地图时,就不必临时计算、绘制当前显示的区域之外的矢量地图,而直接 从缓存的预绘区域的矢量地图中进行提取、显示。这样,在矢量地图的鼠标拖拽过程中,就 不会出现因为计算量大而导致的矢量地图显示迟缓而导致的闪烁的问题。从而,在矢量地 图的鼠标拖拽过程中,给用户的直观感觉是,地图被拖拽出来的部分可以连续、无闪烁地进 行显示。
[0042] 而且,在本次鼠标拖曳结束后,及时重新绘制包括当前显示的区域在内的整个预 绘区域的矢量地图,并更新到缓存中,以在下一次鼠标拖拽过程中直接进行显示。
[0043] 下面结合附图详细说明本发明的技术方案。
[0044] 本发明实施例的矢量地图绘制装置(即矢量地图绘制软件)运行后,在显示屏幕 上显示矢量地图之前,可以预先绘制出预绘区域的矢量地图存储在缓存中,具体流程如图 2a所示,包括如下步骤:
[0045] S201 :矢量地图绘制装置根据显示屏幕中即将显示矢量地图的显示区域的经纬度 信息,确定出预绘区域。
[0046] 具体地,矢量地图绘制装置在确定出显示屏幕中即将显示矢量地图的显示区域的 经纬度信息后,根据显示区域确定预绘区域。其中,预绘区域可以包括显示区域,以及显示 区域周边的扩展区域。
[0047] 通常,在显示屏幕中显示矢量地图的显示区域为矩形区域;如图2b所示,若矩形 的显示区域的四个顶点的经纬度分别为( Ul,Vl)、(Ul,v2)、(u2, Vl)、(u2, v2),则可以根据显示 区域的经纬度信息,确定出矩形的预绘区域的四个顶点的经纬度分别为(2Ul-u 2,2Vl-v2)、 (21^-? Jvfv)、其中,分另U表示矩形的显示区域 的最小经度、最大经度,&、^分别表示矩形的显示区域的最小纬度、最大纬度。当然,本领 域技术人员也可以采用其它方法设置显示区域与预绘区域之间的关系,比如,也可设置显 示区域为预绘区域中央位置,显示区域与预绘区域的面积比值为1 :n,其中,η为大于等于9 的自然数。
[0048] S202:矢量地图绘制装置绘制出预绘区域的矢量地图,并将绘制出的预绘区域的 矢量地图存储于第一缓存中。
[0049] 具体地,对于已确定经纬度范围的预绘区域,如何绘制出预绘区域的矢量地图可 采用现有技术的方法,为本领域技术人员所熟知,此处不再赘述。
[0050] S203:矢量地图绘制装置将预绘区域中的显示区域的矢量地图在显示屏幕上进行 显不。
[0051] 具体地,矢量地图绘制装置将预绘区域中的显示区域的矢量地图存储于第二缓存 中,并根据第二缓存中的矢量地图进行显示。
[0052] 在显示屏幕上显示矢量地图后,若用户在显示的矢量地图中按住鼠标左键,则矢 量地图绘制装置确认接收到矢量地图中的鼠标拖拽指令;在鼠标左键松开之前,矢量地图 绘制装置可以周期性地(比如每l/60s,即频率60Hz)、不断显示刷新矢量地图;在一个周期 内,刷新显示矢量地图的方法的流程如图3a所示,包括如下步骤:
[0053] S301 :矢量地图绘制装置根据当前鼠标坐标确定出待显示区域的经纬度范围。
[0054] 具体地,矢量地图绘制装置确定出当前鼠标坐标在矢量地图中的经纬度信息;并 根据上个周期鼠标坐标在矢量地图中的经纬度信息,确定出上个周期鼠标坐标与当前鼠标 坐标所对应的矢量地图中的地点之间的经度差和纬度差;将确定出的经度差、纬度差分别 作为矢量地图在上个周期的显示区域与本周期的待显示区域之间的经度差、纬度差;之后, 根据上个周期的显示区域与本周期的待显示区域之间的经度差和纬度差,以及上个周期的 显示区域的经纬度范围,确定出本周期的待显示区域的经纬度范围。其中,本周期的待显示 区域的比例尺寸、形状,分别与上个周期的显示区域的比例尺寸、形状相同。换句话说,本周 期的待显示区域可以由上个周期的显示区域通过位移得到,该位移与鼠标坐标在本周期内 的位移相对应。
[0055] 以如图2b所示的预绘区域为例,为方便描述,将预绘区域的扩展区域中的八个矩 形的子区域,分别标记为1-8号区域。图3b_3d分别表示鼠标在显示屏幕显示矢量地图的上 个周期的显示区域中,分别进行水平拖拽、垂直拖拽和沿矩形的显示区域的对角线拖拽。如 图3b所示,若鼠标从矢量地图上个周期的显示区域的右边缘向左边缘拖拽,则可以确定出 本周期的待显示区域的经纬度范围落在上个周期的显示区域和5号区域的经纬度范围内。 如图3c所示,若鼠标从矢量地图上个周期的显示区域的上边缘向下边缘拖拽,则可以确定 出本周期的待显示区域的经纬度范围落在上个周期的显示区域和2号区域的经纬度范围 内。如图3d所示,若鼠标从矢量地图上个周期的显示区域的右上角向左下角拖拽,则可以 确定出本周期的待显示区域的经纬度范围落在上个周期的显示区域、2号区域、3号区域和 5号区域的经纬度范围内。
[0056] S302:矢量地图绘制装置从存储于第一缓存中的预绘区域的矢量地图中提取出待 显示区域的矢量地图后在显示屏幕进行显示。
[0057] 具体地,矢量地图绘制装置从存储于第一缓存中的预绘区域的矢量地图中,提取 出步骤S301中确定出的本周期的待显示区域的矢量地图后,将提取出的矢量地图覆盖第 二缓存中已储存的矢量地图,并根据第二缓存中的矢量地图在显示屏幕进行显示。
[0058] 如图2b所示,鼠标拖拽(例如,从按下鼠标左键移动到松开鼠标左键的过程)之 前的矩形的显示区域位于矩形的预绘区域的中央;且对于预绘区域中的每个对角线,将该 对角线划分成长度相等的三等份,位于该对角线中间的一个等份即为鼠标拖拽之前的显示 区域的一个对角线。而鼠标拖拽之前的显示区域的对角线的长度,即为鼠标在该显示区域 内可以拖拽的最大距离;显然,在一次鼠标拖拽过程中,待显示区域不会超出预绘区域的范 围。
[0059] 显然,从上个周期的鼠标坐标位移到当前鼠标坐标的过程中,矢量地图绘制装置 无需即时计算、绘制矢量地图,直接从缓存中预绘区域的矢量地图中提取本周期的待显示 区域的矢量地图进行显示,节省了计算、绘制矢量地图的时间,避免出现矢量地图显示迟缓 而导致闪烁的问题。
[0060] 之后,矢量地图绘制装置进行下一个周期的刷新显示矢量地图。
[0061] 当用户松开鼠标左键时,矢量地图绘制装置确认接收到鼠标拖拽结束指令,并结 束周期性地刷新显示矢量地图。之后,矢量地图绘制装置更新第一缓存中绘制区域的矢量 地图的方法的流程如图4所示,包括如下步骤:
[0062] S401 :矢量地图绘制装置根据显示屏幕上当前显示的区域的经纬度范围,重新确 定预绘区域的经纬度范围。
[0063] 具体地,矢量地图绘制装置确定出显示屏幕上当前显示的区域的经纬度范围;根 据接收到鼠标拖曳指令之前(即周期性刷新显示矢量地图之前),显示屏幕上显示的矢量 地图的显示区域的经纬度范围,确定出当前显示的区域与鼠标拖曳之前的显示区域之间的 位移后,与鼠标拖曳之前的绘制区域的经纬度范围一起重新确定出预绘区域的当前的经纬 度范围。
[0064] 例如,显示屏幕中显示矢量地图中当前显示的区域为矩形区域,其四个顶点的经 纬度可以分别为(Xl,yi)、(Xl,y2)、(x 2, yi)、(x2, y2);则可以重新确定出预绘区域的四个顶 点的经讳度分别为(2x^X2, 2y「y2)、(2x^X2, 2721)、OxfxdyfyJ、(2X2-X" 2721)。其 中,Xl、x2分别表示矢量地图中当前显示的区域的最小经度、最大经度, yi、y2分别表示矢量 地图中当前显示的区域的最小纬度、最大纬度。
[0065] S402:矢量地图绘制装置绘制重新确定的预绘区域中的矢量地图后,对存储于第 一缓存中的矢量地图进行更新。
[0066] 具体地,矢量地图绘制装置根据重新确定出的预绘区域的经纬度范围,绘制重新 确定出的预绘区域的矢量地图;对于已确定经纬度范围的预绘区域,如何绘制出预绘区域 的矢量地图可采用现有技术的方法,为本领域技术人员所熟知,此处不再赘述。之后,将重 新绘制的预绘区域的矢量地图,覆盖已存储于第一缓存中的矢量地图。
[0067] 较佳地,矢量地图绘制装置可以将预绘区域划分为多个子区域后,并行绘制各子 区域的矢量地图。
[0068] 显然,第二缓存中储存有显示屏幕上当前显示的区域的矢量地图,矢量地图绘制 装置更新第一缓存中的绘制区域的矢量地图,对第二缓存中的数据无影响,因此不影响显 示屏幕上当前显示的矢量地图;也就是说,在矢量地图绘制装置更新第一缓存中的绘制区 域的矢量地图过程中,显示在显示屏幕上的矢量地图保持不变,不会产生闪烁。
[0069] 在实际操作中,矢量地图绘制装置可以在接收到下一个鼠标拖拽指令之前,及时 完成对第一缓存中的预绘区域的矢量地图的更新。当接收到下一个鼠标拖拽指令时,矢量 地图绘制装置将重复步骤S301-S302、以及步骤S401-S402的流程步骤,使得显示屏幕可以 连续、不闪烁地显示的矢量地图。
[0070] 基于上述绘制矢量地图的方法,本发明实施例的矢量地图绘制装置的内部结构框 架示意图如图5所示,包括:指令解析模块501、待显示区域确定模块502、缓存更新模块 503、预绘区域更新模块504和矢量地图显示模块505。
[0071] 指令解析模块501用于在接收到显示屏幕上所显示的矢量地图中鼠标拖拽指令 后,确定出鼠标拖拽指令所涉及的经纬度信息后输出。
[0072] 待显示区域确定模块502用于根据指令解析模块501输出的经纬度信息,确定出 待显示区域的经纬度范围后,发送缓存更新通知。
[0073] 缓存更新模块503用于接收到待显示区域确定模块502发送的缓存更新通知后, 根据待显示区域确定模块502确定的待显示区域的经纬度范围,从存储于第一缓存中的预 绘区域的矢量地图中提取出待显示区域的矢量地图后,将提取出的矢量地图覆盖第二缓存 中的矢量地图,并发送区域更新通知。
[0074] 预绘区域更新模块504用于在矢量地图绘制装置启动时,根据显示屏幕中即将显 示矢量地图的显示区域的经纬度信息,确定出预绘区域后,绘制出预绘区域的矢量地图;并 将绘制出的预绘区域的矢量地图存储于第一缓存中;将该显示区域的矢量地图存储于第 二缓存中;并且,预绘区域更新模块504在接收到缓存更新模块503发送的区域更新通知 后,根据显示屏幕上当前显示的区域的经纬度范围,重新确定预绘区域的经纬度范围,并绘 制重新确定的预绘区域中的矢量地图后,对存储于第一缓存中的矢量地图进行更新。预 绘区域更新模块504具体用于根据显示屏幕上当前显示的区域的四个顶点的经纬度( Xl, yi)、(χι,y2)、(χ2, yi)、(χ2, yd,重新确定出预绘区域的四个顶点的经讳度(2χι_χ2,2Υι?2)、 (2x^X2,2721)、(2Χ2-Χ! Jyryj、(2Χ2-Χ! Jyfy);其中,ΧΡΧ2 分另lj表示显示屏幕上当前显 示的区域的矢量地图的最小经度、最大经度,yi、y2分别表示显示屏幕上当前显示的区域的 矢量地图的最小纬度、最大纬度。
[0075] 矢量地图显示模块505用于根据第二缓存中的矢量地图在显示屏幕进行显示。
[0076] 由上述技术方案可知,鼠标在显示屏幕上一次拖曳过程中的待显示区域,均落入 本发明的预绘区域的范围内;且矢量地图绘制装置预先绘制出预绘区域的矢量地图;使得 鼠标拖曳过程中,矢量地图绘制装置可以周期性提取出待显示区域的矢量地图进行显示; 并在接收到下一个鼠标拖拽指令之前,及时完成对第一缓存中的预绘区域的矢量地图的更 新;从而可以使得显示屏幕中连续、不闪烁地显示矢量地图,可以提高用户的体验。
[0077] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如: R0M/RAM、磁碟、光盘等。
[0078] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【权利要求】
1. 一种矢量地图绘制方法,其特征在于,包括: 在显示屏幕上显示矢量地图后,若接收到所述矢量地图中的鼠标拖拽指令,则周期性 地在显示屏幕上刷新矢量地图;其中,在一个周期内刷新矢量地图的过程为:根据当前鼠 标坐标确定出待显示区域的经纬度范围;并从存储于第一缓存中的预绘区域的矢量地图中 提取出待显示区域的矢量地图后,将提取出的矢量地图覆盖第二缓存中的矢量地图,并根 据第二缓存中的矢量地图在所述显示屏幕进行显示; 在接收到鼠标拖拽结束指令后,根据所述显示屏幕上当前显示的区域的经纬度范围, 重新确定所述预绘区域的经纬度范围,并绘制重新确定的预绘区域中的矢量地图后,对存 储于所述第一缓存中的矢量地图进行更新。
2. 如权利要求1所述的方法,其特征在于,所述显示屏幕上当前显示的区域具体为矩 形区域。
3. 如权利要求2所述的方法,其特征在于,所述根据所述显示屏幕上当前显示的区域 的经纬度范围,重新确定所述预绘区域的经纬度范围,具体包括: 根据所述显示屏幕上当前显示的区域的四个顶点的经纬度(Xl,yi)、(Xl,y 2)、(x2, yi)、 (x2, y2),重新确定出所述预绘区域的四个顶点的经讳度(2x^X2, Zyi、)、(2x0;^, (2x2_Xi,2yi_y2)、(2x2_Xi,2y2 _yi); 其中,Xl、x2分别表示所述当前显示的区域的最小经度、最大经度,yi、y 2分别表示所述 当前显示的区域的最小纬度、最大纬度。
4. 如权利要求1-3任一所述的方法,其特征在于,在所述显示屏幕上显示矢量地图之 前,还包括: 根据显示屏幕中即将显示矢量地图的显示区域的经纬度信息,确定出预绘区域后,绘 制出预绘区域的矢量地图;并将绘制出的预绘区域的矢量地图存储于第一缓存中;将所述 显示区域的矢量地图存储于第二缓存中。
5. 如权利要求1-3任一所述的方法,其特征在于,根据当前鼠标坐标确定出待显示区 域的经纬度范围,具体包括: 确定出上个周期鼠标坐标与当前鼠标坐标所对应的矢量地图中的地点之间的经度差 和讳度差; 将确定出的经度差、纬度差分别作为矢量地图在上个周期的显示区域与本周期的待显 示区域之间的经度差、纬度差; 根据上个周期的显示区域与本周期的待显示区域之间的经度差和纬度差,以及上个周 期的显示区域的经纬度范围,确定出本周期的待显示区域的经纬度范围。
6. -种矢量地图绘制装置,其特征在于,包括: 指令解析模块,用于在接收到显示屏幕上所显示的矢量地图中鼠标拖拽指令后,确定 出所述鼠标拖拽指令所涉及的经纬度信息后输出; 待显示区域确定模块,用于根据所述指令解析模块输出的经纬度信息,确定出待显示 区域的经纬度范围后,发送缓存更新通知; 缓存更新模块,用于接收到所述缓存更新通知后,根据所述待显示区域确定模块确定 的所述待显示区域的经纬度范围,从存储于第一缓存中的预绘区域的矢量地图中提取出待 显示区域的矢量地图后,将提取出的矢量地图覆盖第二缓存中的矢量地图,并发送区域更 新通知; 预绘区域更新模块,用于接收到所述区域更新通知后,根据所述显示屏幕上当前显示 的区域的经纬度范围,重新确定所述预绘区域的经纬度范围,并绘制重新确定的预绘区域 中的矢量地图后,对存储于所述第一缓存中的矢量地图进行更新; 矢量地图显示模块,用于根据第二缓存中的矢量地图在所述显示屏幕进行显示。
7. 如权利要求6所述的装置,其特征在于,所述显示屏幕上当前显示的区域具体为矩 形区域。
8. 如权利要求7所述的装置,其特征在于, 所述预绘区域更新模块具体用于根据所述显示屏幕上当前显示的区域的四个顶点的 经讳度Up 、Up y2)、(χ2, yi)、(x2, yd,重新确定出所述预绘区域的四个顶点的经讳度 (2Xi x2,2y^ y2)、(2χι X2,2y2 y"i)、(2x2 Xi,2y^ y2)、(2叉2 Xi,2y2 y"i);其中,Χι、叉2 么力ll表所 述当前显示的区域的最小经度、最大经度,yi、y2*别表示所述当前显示的区域的最小纬度、 最大纬度。
9. 如权利要求6-8任一所述的装置,其特征在于,还包括: 预绘区域更新模块还用于在所述装置启动时,根据显示屏幕中即将显示矢量地图的显 示区域的经纬度信息,确定出预绘区域后,绘制出预绘区域的矢量地图;并将绘制出的预绘 区域的矢量地图存储于第一缓存中;将所述显示区域的矢量地图存储于第二缓存中。
【文档编号】G06F3/0487GK104063158SQ201410247332
【公开日】2014年9月24日 申请日期:2014年6月5日 优先权日:2014年6月5日
【发明者】刘红锁, 张家骥, 张毅, 张云英 申请人:北京东进航空科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1