一种电子地图控制装置和电子地图控制方法

文档序号:6526654阅读:154来源:国知局
一种电子地图控制装置和电子地图控制方法
【专利摘要】本发明公开了一种电子地图控制装置和电子地图控制方法,其中,该方法包括:在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片;基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片;按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片;当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。由服务器下载预加载瓦片和加载预加载瓦片所需要的时间比由服务器下载目标瓦片和加载目标瓦片所需要的时间短,降低放大地图时电子地图窗口存在空白的概率。
【专利说明】一种电子地图控制装置和电子地图控制方法
【技术领域】
[0001]本发明涉及电子地图【技术领域】,具体涉及一种电子地图控制装置和电子地图控制方法。
【背景技术】
[0002]目前电子地图客户端,在根据使用者的放大地图的指令放大地图(参阅百度地图、腾讯地图等电子地图网络客户端,点击放大按钮即“ + ”按钮,可知电子地图【技术领域】中放大地图表示在相同的电子地图显示范围内显示的地理范围小,地理细节更详细)时,需要加载与当前显示级别不同的较低级别的瓦片,由于需要向服务器请求瓦片以及对瓦片进行图像渲染等处理,所以在放大电子地图时,因为需要较多的时间所以不能及时显示一些瓦片,电子地图窗口中会存在空白;网络性能不佳时,电子地图的空白更明显。而且在电子地图级别之间的切换非常明显。

【发明内容】

[0003]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种电子地图控制装置和相应的电子地图控制方法。
[0004]依据本发明的一个方面,提供了一种电子地图控制装置,该装置包括:目标瓦片运算单元,适于在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片;其中,当前显示级别比目标显示级别高;预加载瓦片运算单元,适于基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片;加载单元,适于按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片;以及当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。
[0005]可选地,所述预加载瓦片运算单元,适于选择级别比目标显示级别高的预加载显示级别,所述预加载瓦片所表示的地图范围包括所述多个目标瓦片所表示的地图范围,且各预加载瓦片所对应的地理面积为各目标瓦片所对应的地理面积的η倍,n=4k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0006]可选地,所述加载单元,适于将各个预加载瓦片的横向宽度和纵向高度均放大m倍显示,其中,m=2k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0007]可选地,该装置还包括:缓存单元,适于设置本地缓存,以及将已显示的瓦片保存在本地缓存中。
[0008]可选地,在所述缓存单元将已显示的瓦片保存在本地缓存中时,若本地缓存的容量不足,则所述缓存单元从本地缓存中移除最近最少使用的瓦片。
[0009]可选地,所述加载单元,适于判断所述预加载瓦片和目标瓦片是否在本地缓存中,若判断为是,则从本地缓存中读取预加载瓦片和目标瓦片,若判断为否,则从服务器下载预加载瓦片和目标瓦片。
[0010]可选地,所述加载单元,适于按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。
[0011]可选地,所述加载单元,适于在加载目标瓦片的同时,增加放大的预加载瓦片的透明度;当加载目标瓦片的操作完成时,移除放大的预加载瓦片以及显示目标瓦片。
[0012]可选地,所述目标瓦片运算单元,适于根据地图可视区域的放大中心点的地理位置坐标及地图的目标显示级别,换算得到放大中心点的像素坐标;根据地图的目标显示级另IJ,得到需显示的单个目标瓦片的像素尺寸;根据地图可视区域的像素尺寸和放大中心点的像素坐标,得到地图可视区域的两个相对的顶点的像素坐标;根据地图可视区域的两个相对的顶点的像素坐标和需显示的单个目标瓦片的像素尺寸得到可视区域内的目标瓦片
[0013]根据本发明的另一方面,提供了一种电子地图控制方法,该方法包括:在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片;基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片;按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片;当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。
[0014]可选地,所述预加载显示级别比目标显示级别高,所述预加载瓦片所表示的地图范围包括所述多个目标瓦片所表示的地图范围,且各预加载瓦片所对应的地理面积为各目标瓦片所对应的地理面积的η倍,n=4k, k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0015]可选地,所述按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片,包括:将各个预加载瓦片的横向宽度和纵向高度均放大m倍显示,其中,m=2k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0016]可选地,该方法还包括:设置本地缓存;将已显示的瓦片保存在本地缓存中。
[0017]可选地,该方法还包括:在将已显示的瓦片保存在本地缓存中时,若本地缓存的容量不足,则从本地缓存中移除最近最少使用的瓦片。
[0018]可选地,所述按照优先顺序获取预加载瓦片和目标瓦片具体包括:判断所述预加载瓦片和目标瓦片是否在本地缓存中,若判断为是,则从本地缓存中读取预加载瓦片和目标瓦片,若判断为否,则从服务器下载预加载瓦片和目标瓦片。
[0019]可选地,所述从服务器下载预加载瓦片和目标瓦片,具体包括:按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。
[0020]可选地,所述加载并显示所述目标瓦片以替换对应位置的放大的预加载瓦片,具体包括:在加载目标瓦片的同时,增加放大的预加载瓦片的透明度;当加载目标瓦片的操作完成时,移除放大的预加载瓦片以及显示目标瓦片。
[0021]可选地,所述查找出目标显示级别中需显示的多个目标瓦片,包括:根据地图可视区域的放大中心点的地理位置坐标及地图的目标显示级别,换算得到放大中心点的像素坐标;根据地图的目标显示级别,得到需显示的单个目标瓦片的像素尺寸;根据地图可视区域的像素尺寸和放大中心点的像素坐标,得到地图可视区域的两个相对的顶点的像素坐标;根据地图可视区域的两个相对的顶点的像素坐标和需显示的单个目标瓦片的像素尺寸得到可视区域内的目标瓦片。
[0022]根据本发明的电子地图控制装置和电子地图控制方法可以通过选择预加载显示级别和加载并放大显示预加载瓦片,快速地显示模糊的预加载瓦片,由此解决了现有技术在放大电子地图时,因为需要较多的时间所以不能及时显示一些瓦片,电子地图窗口中会存在较多空白的问题,达到降低放大电子地图时电子地图窗口中存在空白的概率的效果。通过将预加载瓦片加载并放大显示模糊的预加载瓦片,以及在获取到目标瓦片后,加载并显示目标瓦片以替换对应位置的放大预加载瓦片,使地图级别之间的切换不明显。
[0023]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0024]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0025]图1示出了根据本发明一个实施例的电子地图控制方法的流程图;
[0026]图2示出了如图1所示的步骤SlOO的详细的流程图;
[0027]图3示出了如图1所示的步骤S400的详细的流程图;
[0028]图4示出了根据本发明第一实施例的电子地图控制装置的框图;
[0029]图5示出了根据本发明第二实施例的电子地图控制装置的框图;以及
[0030]图6示出了根据本发明而实现的电子地图客户端的示意图。
【具体实施方式】
[0031]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0032]本发明的技术构思主要在于,在接收到放大地图的指令时,确定目标显示级别和预加载显示级别,查找出需显示的目标瓦片以及与目标瓦片对应(即表示的地图范围对应)的预加载瓦片。由于预加载瓦片的数目比目标瓦片的数目少(例如一张预加载瓦片所表示的地图范围相当于较低级别的四张或十六张或更多张目标瓦片所表示的地图范围),所以由服务器下载预加载瓦片和加载预加载瓦片所需要的时间比使用现有技术由服务器下载目标瓦片和加载目标瓦片所需要的时间短,通过将预加载瓦片加载并放大显示模糊的预加载瓦片,以及在获取到目标瓦片后,加载并显示目标瓦片以替换对应位置的放大预加载瓦片,降低放大地图时电子地图窗口存在空白的概率。通过将预加载瓦片加载并放大显示模糊的预加载瓦片,以及在获取到目标瓦片后,加载并显示目标瓦片以替换对应位置的放大预加载瓦片,电子地图表现为由模糊到清楚的显示过程,使地图级别之间的切换不明显。
[0033]需要说明的是,电子地图瓦片,即栅格地图中的图片,这些图片按一定规则,拼接成一个完整的电子地图,将电子地图放大,会显示较低级别的瓦片,本领域中较高级别的单个瓦片所表示的地图范围比较低级别的单个瓦片所表示的地图范围大,例如,相邻级别中较高级别的一张瓦片相当于较低级别四张瓦片所表示的地图范围,级别差为二的两个级别中,较高级别的一张瓦片相当于较低级别十六张瓦片所表示的地图范围。
[0034]图1示出了根据本发明一个实施例的电子地图控制方法的流程图。该方法包括如下步骤SlOO至步骤S400:
[0035]S100、在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片。其中,本领域技术人员能够了解的是,目标显示级别是根据使用者输入的放大地图的指令而定的,换言之,目标显示级别是操作完成之后电子地图的显示级别。本领域中将地图放大,会显示较低级别的瓦片,较高级别的瓦片所表示的地图范围比较低级别瓦片所表示的地图范围大,因此目标显示级别比当前的显示级别低。查找目标瓦片的方法,可以是参照如图2所示的方法,根据地图可视区域的中心点的地理位置坐标及目标显示级别计算目标瓦片。
[0036]S200、基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片。
[0037]本实施例中,预加载显示级别比目标显示级别高,进一步地,预加载显示级别与当前显示级别无关。预加载瓦片所表示的地图范围包括多个目标瓦片所表示的地图范围,且各预加载瓦片所对应的地理面积为各目标瓦片所对应的地理面积的η倍,n=4k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0038]较佳地,本实施例中,为了更详细全面地展现地图上的信息,电子地图的保存采用分级瓦片机制,将地图分为多个层级来保存,每个层级下存放相应的栅格地图瓦片,以两相邻显示级别下的瓦片为例,显示级别低的一显示级别下的四个相邻瓦片(即2X2的呈“田”字形的四个相邻瓦片)对应于显示级别高的一显示级别下的一个瓦片;以级别差为二的两层瓦片为例,显示级别低的一显示级别下的十六个相邻瓦片(即4X4的十六个相邻瓦片)对应于显示级别高的一显示级别下的一个瓦片。本实施例中,查找预加载瓦片的方法,可以是参照如图2所示的方法,根据地图可视区域的中心点的地理位置坐标及预加载显示级别计算预加载瓦片,也可以是利用与目标瓦片的对应关系根据目标瓦片的编号通过除法取整运算得到预加载瓦片的编号。本实施例中,由于每个预加载瓦片对应多个目标瓦片,所以所述预加载瓦片所表示的地图范围可能大于所述多个目标瓦片所表示的地图范围。
[0039]S300、按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片。通过首先显示模糊的放大预加载瓦片,加载速度快,减小了在电子地图上显示空白瓦片的概率。
[0040]本实施例中,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片,包括:将各个预加载瓦片的横向宽度和纵向高度均放大m倍显示,其中,m=2k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。即,如果预加载显示级别和目标显示级别之间的级别差为I则将各个预加载瓦片的横向宽度和纵向高度均放大为2倍进行显示;如果预加载显示级别和目标显示级别之间的级别差为2则将各个预加载瓦片的横向宽度和纵向高度均放大为4倍进行显示。
[0041]S400、当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。通过使用清晰的目标瓦片替换对应的模糊的放大预加载瓦片,实现清晰显示地图以及地图显示由模糊到清晰的显示效果。
[0042]综合上述步骤S100、S200、S300和S400,本实施例通过选择预加载显示级别和加载并放大显示预加载瓦片,快速地显示模糊的预加载瓦片,降低了电子地图显示空白瓦片的概率。
[0043]本实施例中通过执行步骤S200和步骤S300,能够选择一个比目标显示级别高的预加载显示级别和显示该预加载显示级别中的放大预加载瓦片,较佳地,预加载显示级别不高于当前显示级别。通过重复执行步骤S200和步骤S300,也能够选择多个比目标显示级别高的预加载显示级别以及显示多个预加载显示级别中的放大预加载瓦片,具体实施中,可以先显示级别较高的预加载显示级别中的放大预加载瓦片,再显示级别较低的预加载显示级别中的放大预加载瓦片,同样实现地图显示由模糊到清晰的显示效果。另外,本领域技术人员应了解,预加载显示级别也可以是当前显示级别。
[0044]进一步地,该方法还包括:设置本地缓存;将已显示的瓦片保存在本地缓存中。更具体地,本实施例通过创建本地缓存,控制瓦片的请求频度。放大地图时,能够优先显示已经缓存过的瓦片,减少用户看到空白的概率,并且利用缓存可以提高加载速度,在服务器端没有加缓存头的情况下,也能避免重复请求瓦片。则本实施例的该方法还包括:在将已显示的瓦片保存在本地缓存中时,若本地缓存的容量不足,则从本地缓存中移除最近最少使用的瓦片。换言之,缓存的实现采用LRU (Least Recently Used,最近最少使用)策略,缓存中的瓦片超过缓存设定的容量时,会优先淘汰最近最少使用的瓦片。
[0045]较佳地,上述步骤S200中的选择预加载显示级别的方法,是选择比目标显示级别高的数个级别,从所述各级别中选择预加载显示级别,具体是判断所述各个级别中与目标瓦片对应的瓦片在缓存中或需要由服务器下载,选择需要由服务器下载的瓦片数目最小的级别为预加载显示级别从而加快从服务器下载预加载瓦片的速度,进一步地如果需要由服务器下载的瓦片数目相同,则优先选择等级较高的级别为预加载显示级别从而减少需处理的预加载瓦片的数目以进一步地加快处理速度。
[0046]本实施例中,上述步骤S300的按照优先顺序获取预加载瓦片和目标瓦片具体包括:判断预加载瓦片和目标瓦片是否在本地缓存中,若判断为是,则从本地缓存中读取预加载瓦片和目标瓦片,若判断为否,则从服务器下载预加载瓦片和目标瓦片。通过优先获取缓存中的瓦片,能够提闻加载速度。
[0047]从服务器下载预加载瓦片和目标瓦片,具体包括:按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。本实施例的缩放焦点,在接收到使用者通过鼠标滚轮输入的放大地图指令时能够是鼠标的位置,或者在接收到使用者通过页面按钮(如“ + ”号按钮)输入的放大地图指令时能够是地图的中心。通过按照与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中可以使位于缩放焦点中心附近的瓦片能够被优先加载。
[0048]图2示出了如图1所示的步骤SlOO的详细的流程图。步骤SlOO的查找出目标显示级别中需显示的多个目标瓦片,具体包括以下步骤:
[0049]S110、根据地图可视区域的放大中心点的地理位置坐标及地图的目标显示级别,换算得到放大中心点的像素坐标。
[0050]根据投影原理,放大前后的两地图中有重叠的点表示相同的地理位置,所述放大中心点为地图放大时所表示的地理位置不变的点(本实施例中的放大中心点即为上述的缩放焦点中心),根据放大中心点的地理位置坐标(即经纬度坐标)及目标显示级别,能够得到放大中心点的像素坐标(例如,X-Y坐标)。
[0051]S120、根据地图的目标显示级别,得到需显示的单个目标瓦片的像素尺寸。
[0052]由上所述可知,本实施例电子地图的保存采用分级瓦片机制,根据目标显示级别,能够得到单个目标瓦片的像素尺寸。
[0053]S130、根据地图可视区域的像素尺寸和放大中心点的像素坐标,得到地图可视区域的两个相对的顶点的像素坐标。本实施例中,放大中心点和地图可视区域的顶点的位置关系是可知的,根据目标显示级别,能够得到地图可视区域的像素尺寸,因此可以得到地图可视区域的两个相对的顶点的像素坐标。
[0054]所述地图可视区域的两个相对的顶点,能够是左上顶点和右下顶点,或是右上顶点和左下顶点,通过相对两个顶点就能够确定可视区域的范围。
[0055]S140、根据地图可视区域的两个相对的顶点的像素坐标和需显示的单个目标瓦片的像素尺寸得到可视区域内的目标瓦片。
[0056]步骤S140具体包括:得到两个相对的顶点所在的目标瓦片的横向索引编号和纵向索引编号;选取横向索引编号位于两个相对的顶点所在的目标瓦片的横向索引编号之间且纵向索引编号位于两个相对的顶点所在的目标瓦片的纵向索引编号之间的目标瓦片,即得到地图可视区域内的目标瓦片。其中,所述得到两个相对的顶点所在的目标瓦片的横向索引编号和纵向索引编号,具体包括:对所述顶点分别利用顶点的像素坐标减去地图的原点的像素坐标得到横坐标的差值和纵坐标的差值,利用横坐标的差值除以单个目标瓦片的宽度得到横向索引编号,利用纵坐标的差值除以单个目标瓦片的高度得到纵向索引编号。
[0057]图3示出了如图1所示的步骤S400的详细的流程图。步骤S400的加载并显示目标瓦片以替换对应位置的放大的预加载瓦片,具体包括以下步骤:
[0058]S410、在加载目标瓦片的同时,增加放大的预加载瓦片的透明度。换言之,在加载目标瓦片时,将放大的预加载瓦片逐渐变得透明。
[0059]S420、当加载目标瓦片的操作完成时,移除放大的预加载瓦片以及显示目标瓦片。具体地,对应于一个放大的预加载瓦片的数个目标瓦片加载完成时,移除该放大的预加载瓦片,显示加载完成的数个目标瓦片,电子地图更清晰。
[0060]本实施例中,根据不同浏览器版本,提供不同的渲染机制,提高渲染瓦片性能,以保证步骤S300中的加载并放大显示预加载瓦片操作和步骤S400中的加载并显示目标瓦片操作的流畅性。例如,针对支持webgl接口的浏览器,提供WebglRenderer渲染机制;针对支持HTML5标签Canvas的浏览器,提供CanvasRenderer渲染机制;针对支持CSS3的浏览器,提供CSSRenderer渲染机制;针对IE6、IE7、IE8等低版本浏览器,提供FlashRendere渲染机制;针对所有浏览器,提供DivRenderer渲染机制。
[0061]图4示出了根据本发明第一实施例的电子地图控制装置的框图。该装置包括目标瓦片运算单元100、预加载瓦片运算单元200和加载单元300。
[0062]目标瓦片运算单元100,适于在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片。其中,当前显示级别比目标显示级别高。其中,本领域技术人员能够了解的是,目标显示级别是根据使用者输入的放大地图的指令而定的,换言之,目标显示级别是操作完成之后电子地图的显示级别。本领域中将地图放大,会显示较低级别的瓦片,较高级别的瓦片所表示的地图范围比较低级别瓦片所表示的地图范围大,因此目标显示级别比当前的显示级别低。
[0063]预加载瓦片运算单元200,适于基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片。
[0064]本实施例中,预加载瓦片运算单元200,适于选择级别比目标显示级别高的预加载显示级别,所述预加载瓦片所表示的地图范围包括所述多个目标瓦片所表示的地图范围,且各预加载瓦片所对应的地理面积为各目标瓦片所对应的地理面积的η倍,n=4k, k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
[0065]本实施例中,为了更详细全面地展现地图上的信息,电子地图的保存采用分级瓦片机制,将地图分为多个层级来保存,每个层级下存放相应的栅格地图瓦片,以两相邻显示级别下的瓦片为例,显示级别低的一显示级别下的四个相邻瓦片(即2X2的呈“田”字形的四个相邻瓦片)对应于显示级别高的一显示级别下的一个瓦片;以级别差为二的两层瓦片为例,显示级别低的一显示级别下的十六个相邻瓦片(即4X4的十六个相邻瓦片)对应于显示级别高的一显示级别下的一个瓦片。本实施例中,预加载瓦片运算单元200查找预加载瓦片的方法,可以是参照如图2所示的方法,根据地图可视区域的中心点的地理位置坐标及预加载显示级别计算预加载瓦片,也可以是利用与目标瓦片的对应关系根据目标瓦片的编号通过除法取整运算得到预加载瓦片的编号。本实施例中,由于每个预加载瓦片对应多个目标瓦片,所以所述预加载瓦片所表示的地图范围可能大于所述多个目标瓦片所表示的地图范围。
[0066]加载单元300,适于按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片;以及当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。通过首先显示模糊的放大预加载瓦片,加载速度快,减小了在电子地图上显示空白瓦片的概率。通过使用清晰的目标瓦片替换对应的模糊的放大预加载瓦片,实现清晰显示地图以及地图显示由模糊到清晰的显示效果。
[0067]本实施例中,加载单元300,适于将各个预加载瓦片的横向宽度和纵向高度均放大m倍显示,其中,m=2k,k为自然数,表示预加载显示级别和目标显示级别之间的级别差。SP,如果预加载显示级别和目标显示级别之间的级别差为I则加载单元300将各个预加载瓦片的横向宽度和纵向高度均放大为2倍进行显示;如果预加载显示级别和目标显示级别之间的级别差为2则加载单元300将各个预加载瓦片的横向宽度和纵向高度均放大为4倍进行显不O
[0068]本实施例中,加载单元300,适于按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。通过按照与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中可以使位于缩放焦点中心附近的瓦片能够被优先加载。
[0069]本实施例中,加载单元300,适于在加载目标瓦片的同时,增加放大的预加载瓦片的透明度;当加载目标瓦片的操作完成时,移除放大的预加载瓦片以及显示目标瓦片。具体地,在加载目标瓦片时,将放大的预加载瓦片逐渐变得透明;对应于一个放大的预加载瓦片的数个目标瓦片加载完成时,移除该放大的预加载瓦片,显示加载完成的数个目标瓦片,电子地图更清晰。
[0070]本实施例中,目标瓦片运算单元100,适于根据地图可视区域的放大中心点的地理位置坐标及地图的目标显示级别,换算得到放大中心点的像素坐标;根据地图的目标显示级别,得到需显示的单个目标瓦片的像素尺寸;根据地图可视区域的像素尺寸和放大中心点的像素坐标,得到地图可视区域的两个相对的顶点的像素坐标;根据地图可视区域的两个相对的顶点的像素坐标和需显示的单个目标瓦片的像素尺寸得到可视区域内的目标瓦片。
[0071]图5示出了根据本发明第二实施例的电子地图控制装置的框图。本实施例中与如图4所示的第一实施例相似,不同之处在于,该装置还包括缓存单元400。
[0072]缓存单元400,适于设置本地缓存,以及将已显示的瓦片保存在本地缓存中。通过缓存单元400创建本地缓存,控制瓦片的请求频度。放大地图时,能够优先显示已经缓存过的瓦片,减少用户看到空白的概率,并且利用缓存可以提高加载速度,在服务器端没有加缓存头的情况下,也能避免重复请求瓦片。
[0073]进一步地,在缓存单元400将已显示的瓦片保存在本地缓存中时,若本地缓存的容量不足,则缓存单元400从本地缓存中移除最近最少使用的瓦片。
[0074]进一步地,本实施例的加载单元300,适于判断所述预加载瓦片和目标瓦片是否在本地缓存中,若判断为是,则从本地缓存中读取预加载瓦片和目标瓦片,若判断为否,则从服务器下载预加载瓦片和目标瓦片。通过优先获取缓存中的瓦片,能够提高加载速度。
[0075]图6示出了根据本发明而实现的电子地图客户端的示意图。通过电子地图控制装置和电子地图控制方法,电子地图客户端在依据使用者的指示进行放大操作时,电子地图窗口存在空白的概率小,且电子地图表现由模糊到清楚的显示过程,使地图级别之间的切换不明显。
[0076]需要说明的是:
[0077]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0078]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0079]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0080]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0081]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0082]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的电子地图控制设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0083]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种电子地图控制装置,该装置包括: 目标瓦片运算单元,适于在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片;其中,当前显示级别比目标显示级别高; 预加载瓦片运算单元,适于基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应的预加载瓦片; 加载单元,适于按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片;以及当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。
2.根据权利要求1所述的装置,其中, 所述加载单元,进一步适于按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。
3.一种电子地图控制方法,其中,该方法包括: 在接收到放大地图的指令时,确定放大到的目标显示级别,查找出目标显示级别中需显示的多个目标瓦片; 基于当前显示级别与目标显示级别的关系选择预加载显示级别,查找出预加载显示级别中与所述目标瓦片对应 的预加载瓦片; 按照优先顺序获取预加载瓦片和目标瓦片,按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片; 当获取到目标瓦片后,加载并显示所述目标瓦片以替换对应位置的放大预加载瓦片。
4.根据权利要求3所述的方法,其中, 所述预加载显示级别比目标显示级别高,所述预加载瓦片所表示的地图范围包括所述多个目标瓦片所表示的地图范围,且各预加载瓦片所对应的地理面积为各目标瓦片所对应的地理面积的η倍,n=4k, k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
5.根据权利要求3或4所述的方法,其中,所述按照预加载显示级别和目标显示级别之间的级别差加载并放大显示预加载瓦片,包括: 将各个预加载瓦片的横向宽度和纵向高度均放大m倍显示,其中,m=2k, k为自然数,表示预加载显示级别和目标显示级别之间的级别差。
6.根据权利要求3-5任一项所述的方法,其中,该方法还包括: 设置本地缓存; 将已显示的瓦片保存在本地缓存中。
7.根据权利要求3-6任一项所述的方法,其中,该方法还包括: 在将已显示的瓦片保存在本地缓存中时,若本地缓存的容量不足,则从本地缓存中移除最近最少使用的瓦片。
8.根据权利要求3-7任一项所述的方法,其中,所述按照优先顺序获取预加载瓦片和目标瓦片具体包括: 判断所述预加载瓦片和目标瓦片是否在本地缓存中,若判断为是,则从本地缓存中读取预加载瓦片和目标瓦片,若判断为否,则从服务器下载预加载瓦片和目标瓦片。
9.根据权利要求3-8任一项所述的方法,其中,所述从服务器下载预加载瓦片和目标瓦片,具体包括: 按照所述预加载瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载预加载瓦片的请求加入图片请求队列中,以及按照所述目标瓦片与地图的缩放焦点中心的距离由小到大的顺序将从服务器下载目标瓦片的请求加入图片请求队列中。
10.根据权利要求3-9任一权利要求所述的方法,其中,所述加载并显示所述目标瓦片以替换对应位置的放大的预加载瓦片,具体包括: 在加载目标瓦片的同时,增加放大的预加载瓦片的透明度;当加载目标瓦片的操作完成时,移除放大的预加载瓦片以及显示目标瓦片。
【文档编号】G06T3/40GK103700125SQ201310745782
【公开日】2014年4月2日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】杨新明 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1