一种地图显示的方法、装置及相关存储介质和客户端制造方法及图纸

技术编号:24251442 阅读:37 留言:0更新日期:2020-05-22 23:31
本发明专利技术公开了一种地图显示的方法、装置及相关存储介质和客户端。所述方法包括如下步骤:确定当前所要显示地图范围对应的至少一个当前级别瓦片;查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片,并显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片;将获取到的当前级别瓦片加载于所述缓存中并显示,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。本发明专利技术通过优化复用规则的运用避免了无数据显示导致的闪烁的问题。

A map display method, device, related storage medium and client

【技术实现步骤摘要】
一种地图显示的方法、装置及相关存储介质和客户端
本专利技术涉及电子地图领域,特别涉及一种地图显示的方法、装置及相关存储介质和客户端。
技术介绍
随着计算机、网络、多媒体和航天技术的发展,以计算机为主体的电子设备在电子地图领域中被广泛应用,地图不再限于用符号和图形表达在纸(或类似的介质)上,它可以通过数字的形式存储于磁介质上,或经可视化加工显示在屏幕上。目前,电子地图领域中越来越多地采用瓦片金字塔来组织地图数据。参照图1所示,瓦片金字塔是一种金字塔结构的多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但各层级表示的地理范围不变。瓦片金字塔的每个层级分别对应不同粒度的数据,用于地图不同比例尺下的展示。四叉树结构是一种树状的数据结构,也被广泛地应用于电子地图领域。四叉树结构中包含很多节点,每一个父节点又包含四个子节点。四叉树结构将数据分为四个象限,四个象限继续递归分割n次,每次分割形成2n×2n个子象限,直到子象限中的属性数值都相同为止,该子象限就不再分割。四叉树结构的数据范围可以是方形或矩形或其他任意形状。瓦片金字塔的各个层级可以用父子级别来表示,相邻的父子瓦片层级的数据通过四叉树结构进行组织编码,即一个父级别瓦片对应于四个子级别瓦片,每个子级别瓦片范围是父级别瓦片范围的1/4。在地图绘制时,首先,根据当前比例尺级别确定要显示的瓦片层级,以及根据显示的中心点和显示画面的大小确定要显示的具体瓦片;然后,对瓦片进行下载、解析、加载、三角化等处理;最后,将处理后的瓦片转换成图像处理器(GraphicsProcessingUnit,GPU)资源,进行地图的绘制。这样,通过上述过程将地图最终绘制出来。由于地图的整个绘制过程耗时远远高于每帧地图图像切换的耗时,所以地图在切换位置或者切换显示层级时,地图会存在数帧图像无内容显示的情况。直到整个地图的绘制过程完成,这种情况才会消失。这样,就会在显示上出现有内容显示到无内容显示再到新的内容显示的闪烁情况。为了优化地图显示的闪烁问题,通常需要构建瓦片缓存,在此基础上,采用复用机制。复用机制即在当前对应的瓦片数据未准备好之前,显示当前层级到瓦片金字塔塔顶存在的某个准备好的层级瓦片(称为父级别瓦片)。即在当前级别瓦片中有任一个瓦片准备好之后,便不再显示父级别瓦片。现有技术虽然在一定程度上优化了地图显示的闪烁问题,但是由于当前级别瓦片需要经过异步请求、加载、数据三角化等处理,不能保证当前级别的所有瓦片同时准备完成。所以在当前级别的所有瓦片同时准备完成之前,会存在一定时间的计算过程,依旧会出现有内容显示到无内容显示再到新的内容显示的闪烁情况。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种图像处理及传输方法、图像处理器及相关存储介质和系统。第一方面,本专利技术实施例提供一种地图显示的方法,包括如下步骤:确定当前所要显示地图范围对应的至少一个当前级别瓦片;查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片,并显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片;将获取到的当前级别瓦片加载于所述缓存中并显示,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。在一个实施例中,当所述缓存中未存在所有的当前级别瓦片,且未存在所述至少一级的父级别瓦片时,所述方法还包括:请求获取未存在的当前级别瓦片以及所述至少一级父级别瓦片;将获取到的当前级别瓦片和至少一级的父级别瓦片加载于所述缓存中;在所有的当前级别瓦片未加载完成时,显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。在一个实施例中,当所述缓存中存在所有的当前级别瓦片,且不存在所述至少一级的父级别瓦片时,所述方法还包括:显示所有的当前级别瓦片;请求获取所述至少一级的父级别瓦片,并将获取到的至少一级父级别瓦片预加载于所述缓存中。在一个实施例中,当所述缓存中存在所有的当前级别瓦片以及所述至少一级的父级别瓦片时,所述方法还包括:显示所有的当前级别瓦片。在一个实施例中,所述同时显示至少一级父级别瓦片和已存在的所述当前级别瓦片,包括:按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片;所述叠加显示,包括:显示所述已存在的所述当前级别瓦片;并在所述至少一级父级别瓦片中除了已存在的所述当前级别瓦片之外的区域,显示所述至少一级父级别瓦片。在一个实施例中,按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片之前,还包括:分别对不同显示级别的瓦片赋予与所述显示级别对应的显示级别索引值;所述按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片,包括:按照显示级别的高低,向所述至少一级父级别瓦片和已存在的所述当前级别瓦片所对应的区域范围内分别填充对应的显示级别索引值;绘制显示所述已存在的所述当前级别瓦片;获取所述至少一级父级别瓦片区域范围内的显示级别索引值与该父级别瓦片显示级别索引值匹配的区域;在得到的所述显示级别索引值与所述父级别瓦片显示级别索引值匹配的区域中,显示所述至少一级父级别瓦片。在一个实施例中,按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片之前,还包括:将所述至少一级父级别瓦片,按照本级别以下级别瓦片的区域大小分割成块;所述按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片,包括:对于所述至少一级父级别瓦片,显示与本级别以下级别的瓦片不重叠的块。第二方面,本专利技术实施例提供一种地图显示的装置,包括:确定模块,用于确定当前所要显示地图范围对应的至少一个当前级别瓦片;查找模块,用于查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;获取模块,用于当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片;加载模块,用于将获取到的当前级别瓦片加载于所述缓存中;渲染模块,用于显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片;直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。在一个实施例中,所述获取模块,还用于:.当所述缓存中未存在所有的当前级别瓦片,且未存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片以及所述至少一级父级别瓦片;所述加载模块,用于将获取到本文档来自技高网
...

【技术保护点】
1.一种地图显示的方法,其特征在于,包括如下步骤:/n确定当前所要显示地图范围对应的至少一个当前级别瓦片;/n查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;/n当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片,并显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片;/n将获取到的当前级别瓦片加载于所述缓存中并显示,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。/n

【技术特征摘要】
1.一种地图显示的方法,其特征在于,包括如下步骤:
确定当前所要显示地图范围对应的至少一个当前级别瓦片;
查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;
当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未存在的当前级别瓦片,并显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片;
将获取到的当前级别瓦片加载于所述缓存中并显示,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。


2.如权利要求1所述的方法,其特征在于,当所述缓存中未存在所有的当前级别瓦片,且未存在所述至少一级的父级别瓦片时,所述方法还包括:
请求获取未存在的当前级别瓦片以及所述至少一级父级别瓦片;将获取到的当前级别瓦片和至少一级的父级别瓦片加载于所述缓存中;
在所有的当前级别瓦片未加载完成时,显示所述至少一级父级别瓦片或者同时显示所述至少一级父级别瓦片和已存在的所述当前级别瓦片,直至所述所有的当前级别瓦片均已加载并显示时,取消所述至少一级父级别瓦片的显示。


3.如权利要求1所述的方法,其特征在于,当所述缓存中存在所有的当前级别瓦片,且不存在所述至少一级的父级别瓦片时,所述方法还包括:
显示所有的当前级别瓦片;
请求获取所述至少一级的父级别瓦片,并将获取到的至少一级父级别瓦片预加载于所述缓存中。


4.如权利要求1所述的方法,其特征在于,当所述缓存中存在所有的当前级别瓦片以及所述至少一级的父级别瓦片时,所述方法还包括:
显示所有的当前级别瓦片。


5.如权利要求1~4任一项所述的方法,其特征在于,所述同时显示至少一级父级别瓦片和已存在的所述当前级别瓦片,包括:
按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片;所述叠加显示,包括:
显示所述已存在的所述当前级别瓦片;
并在所述至少一级父级别瓦片中除了已存在的所述当前级别瓦片之外的区域,显示所述至少一级父级别瓦片。


6.如权利要求5所述的方法,其特征在于,按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片之前,还包括:
分别对不同显示级别的瓦片赋予与所述显示级别对应的显示级别索引值;
所述按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片,包括:
按照显示级别的高低,向所述至少一级父级别瓦片和已存在的所述当前级别瓦片所对应的区域范围内分别填充对应的显示级别索引值;
绘制显示所述已存在的所述当前级别瓦片;
获取所述至少一级父级别瓦片区域范围内的显示级别索引值与该父级别瓦片显示级别索引值匹配的区域;
在得到的所述显示级别索引值与所述父级别瓦片显示级别索引值匹配的区域中,显示所述至少一级父级别瓦片。


7.如权利要求5所述的方法,其特征在于,按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片之前,还包括:
将所述至少一级父级别瓦片,按照本级别以下级别瓦片的区域大小分割成块;
所述按照显示级别的高低,叠加显示已存在的所述当前级别瓦片和所述至少一级父级别瓦片,包括:
对于所述至少一级父级别瓦片,显示与本级别以下级别的瓦片不重叠的块。


8.一种地图显示的装置,其特征在于,包括:
确定模块,用于确定当前所要显示地图范围对应的至少一个当前级别瓦片;
查找模块,用于查找缓存中是否存在所述当前级别瓦片以及所述当前级别瓦片至少一级的父级别瓦片;
获取模块,用于当所述缓存中未存在所有的当前级别瓦片,且存在所述至少一级的父级别瓦片时,请求获取未...

【专利技术属性】
技术研发人员:王海鹏朱永峰贺经纬
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1