地图渲染方法技术

技术编号:39824594 阅读:19 留言:0更新日期:2023-12-29 15:59
本公开提供了一种地图渲染方法

【技术实现步骤摘要】
地图渲染方法、装置、电子设备和存储介质


[0001]本公开涉及
AI(Artificial Intelligence
,人工智能
)
领域,具体涉及智能交通

大数据等
,尤其涉及地图渲染方法

装置

电子设备和存储介质


技术介绍

[0002]电子地图
(Electronic map)
,即数字地图,是利用计算机技术,以数字方式存储和查阅的地图,随着浏览器和地图类
APP(Application
,应用
)(
或导航类
APP)
的不断普及,越来越多的用户通过上述
APP
,查询电子地图上的
POI(Point of Interest
,兴趣点
)、
规划出行线路

发布信息等

[0003]如何实现在上述
APP
的前端地图上,快速地渲染大量的地图数据点,以使用户快速浏览相应的地图信息是非常重要的


技术实现思路

[0004]本公开提供了一种用于地图渲染方法

装置

电子设备和存储介质

[0005]根据本公开的一方面,提供了一种地图渲染方法,应用于目标应用的主线程,包括:
[0006]获取目标应用的显示页面中地图可视区域对应的第一地理坐标范围;
[0007]从多个数据块中,确定与所述第一地理坐标范围匹配的至少一个第一数据块;其中,同一数据块中包含地图数据集中同一区域内的各地图数据点;
[0008]调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的第一瓦片数据;
[0009]对各所述第一数据块对应的第一瓦片数据进行合并,得到第一合并瓦片数据,并将所述第一合并瓦片数据进行渲染并展示在所述地图可视区域内

[0010]根据本公开的另一方面,提供了一种地图渲染装置,应用于目标应用的主线程,包括:
[0011]获取模块,用于获取目标应用的显示页面中地图可视区域对应的第一地理坐标范围;
[0012]确定模块,用于从多个数据块中,确定与所述第一地理坐标范围匹配的至少一个第一数据块;其中,同一数据块中包含地图数据集中同一区域内的各地图数据点;
[0013]调度模块,用于调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的第一瓦片数据;
[0014]合并模块,用于对各所述第一数据块对应的第一瓦片数据进行合并,得到第一合并瓦片数据;
[0015]第一处理模块,用于将所述第一合并瓦片数据进行渲染并展示在所述地图可视区域内

[0016]根据本公开的又一方面,提供了一种电子设备,包括:
[0017]至少一个处理器;以及
[0018]与所述至少一个处理器通信连接的存储器;其中,
[0019]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的地图渲染方法

[0020]根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的地图渲染方法

[0021]根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的地图渲染方法

[0022]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围

本公开的其它特征将通过以下的说明书而变得容易理解

附图说明
[0023]附图用于更好地理解本方案,不构成对本公开的限定

其中:
[0024]图1是本公开实施例一所提供的地图渲染方法的流程示意图;
[0025]图2为本公开实施例二所提供的地图渲染方法的流程示意图;
[0026]图3为本公开实施例三所提供的地图渲染方法的流程示意图;
[0027]图4为本公开实施例四所提供的地图渲染方法的流程示意图;
[0028]图5为本公开实施例五所提供的地图渲染方法的流程示意图;
[0029]图6为本公开实施例六所提供的地图渲染方法的流程示意图;
[0030]图7为本公开实施例七所提供的地图渲染方法的流程示意图;
[0031]图8为本公开实施例所提供的地图渲染方法的实现原理示意图;
[0032]图9为本公开实施例八所提供的地图渲染装置的结构示意图;
[0033]图
10
示出了可以用来实施本公开的实施例的示例电子设备的示意性框图

具体实施方式
[0034]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的

因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神

同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述

[0035]随着地图类
APP(
或导航类
APP)
的普及,地图
marker(
标记点
)
渲染成为了一个重要的问题

传统的地图
marker
渲染方法,使用主线程渲染大量的
marker
,容易导致
APP
界面卡顿,降低用户的使用体验

[0036]虽然目前已有针对界面卡顿问题的相应解决方案,如
WebGL(Web Graphics Library

Web
图形库
)
技术

矢量切片技术等,但是这些解决方案至少存在以下缺点:技术门槛高,兼容性较差

[0037]例如,目前主要包括以下几种前端地图
marker
渲染方案:
[0038]第一种,使用
Canvas(
画布
)

requestAnimationFrame(
请求动画帧,是浏览器用于定时循环操作的一个接口,主要用途是按帧对网页进行重绘
)
,进行
marker
渲染

[0039]该方案通过在
Canvas
上渲染点来实现
marker
的绘制

由于该方案使用了
requ本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种地图渲染方法,应用于目标应用的主线程,包括:获取目标应用的显示页面中地图可视区域对应的第一地理坐标范围;从多个数据块中,确定与所述第一地理坐标范围匹配的至少一个第一数据块;其中,同一数据块中包含地图数据集中同一区域内的各地图数据点;调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的第一瓦片数据;对各所述第一数据块对应的第一瓦片数据进行合并,得到第一合并瓦片数据,并将所述第一合并瓦片数据进行渲染并展示在所述地图可视区域内
。2.
根据权利要求1所述的方法,其中,所述调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的第一瓦片数据,包括:获取所述目标应用的显示页面的缩放比例信息;根据所述缩放比例信息,从至少一个瓦片层级中确定与所述缩放比例信息匹配的目标瓦片层级;调度所述至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的且与所述目标瓦片层级匹配的第一瓦片数据
。3.
根据权利要求2所述的方法,其中,所述调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,包括:判断缓存中是否存在与各所述第一数据块对应且与所述目标瓦片层级匹配的参考瓦片数据;在所述缓存中不存在与所述第一数据块对应且与目标瓦片层级匹配的参考瓦片数据的情况下,调度所述至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对应的与所述目标瓦片层级匹配的第一瓦片数据
。4.
根据权利要求3所述的方法,其中,所述判断缓存中是否存在与各所述第一数据块对应且与所述目标瓦片层级匹配的参考瓦片数据之后,所述方法还包括:在所述缓存中存在与各所述第一数据块中的第二数据块对应且与目标瓦片层级匹配的参考瓦片数据的情况下,调度所述至少一个第一子线程对各所述第一数据块中除所述第二数据块之外的第三数据块进行渲染,以得到所述第三数据块对应的且与所述目标瓦片层级匹配的第二瓦片数据;将所述第二数据块对应的参考瓦片数据与所述第三数据块对应的第二瓦片数据进行合并,得到第二合并瓦片数据;将所述第二合并瓦片数据进行渲染并展示在所述地图可视区域内
。5.
根据权利要求3或4所述的方法,其中,所述方法还包括:将所述第三数据块对应的且与所述目标瓦片层级匹配的第二瓦片数据存入所述缓存;或者,将各所述第一数据块对应的且与所述目标瓦片层级匹配的第一瓦片数据存入所述缓存
。6.
根据权利要求1所述的方法,其中,所述方法还包括:从所述多个数据块中确定至少一个第四数据块,其中,所述第四数据块与所述第一数据块相邻,和
/
或,所述第四数据块与所述第一数据块之间的距离小于设定距离阈值;
调度所述主线程创建的至少一个第二子线程,对各所述第四数据块进行渲染,以得到各所述第四数据块对应的且与目标瓦片层级匹配的第三瓦片数据;其中,所述目标瓦片层级是根据所述显示页面的缩放比例信息确定的;将各所述第四数据块对应的第三瓦片数据存入缓存
。7.
根据权利要求6所述的方法,其中,所述方法还包括:响应于对所述地图可视区域的滑动操作,获取所述地图可视区域对应的第二地理坐标范围;从所述多个数据块中,确定与所述第二地理坐标范围匹配的至少一个第五数据块;在所述缓存中存在与各所述第五数据块对应且与所述目标瓦片层级匹配的第四瓦片数据的情况下,对各所述第五数据块对应的第四瓦片数据进行合并,得到第三合并瓦片数据;将所述第三合并瓦片数据进行渲染并展示在所述地图可视区域内
。8.
根据权利要求1所述的方法,其中,所述获取目标应用的显示页面中地图可视区域对应的第一地理坐标范围,包括:获取目标位置信息,其中,所述目标位置信息包括所述目标应用所在设备的定位位置或所述目标应用中输入的搜索位置;获取所述目标应用的显示页面的缩放比例信息;根据所述目标位置信息

所述缩放比例信息和所述地图可视区域的尺寸信息,确定所述地图可视区域对应的第一地理坐标范围
。9.
根据权利要求1所述的方法,其中,所述调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,得到各所述第一数据块对应的第一瓦片数据,包括:获取所述第一数据块的第一数量;获取配置信息,其中,所述配置信息用于指示每个所述第一子线程允许处理的数据块的第二数量;根据所述第一数量和所述第二数量,确定待创建的所述第一子线程的第三数量;创建所述第三数量的第一子线程,并调度所述第三数量的第一子线程对所述第一数量的第一数据块进行渲染,以得到各所述第一数据块对应的第一瓦片数据
。10.
根据权利要求1所述的方法,其中,所述从多个数据块中,确定与所述地理坐标范围匹配的至少一个第一数据块之前,所述方法还包括:向服务端发送数据获取请求;其中,所述数据获取请求中携带目标位置信息和所述显示页面的缩放比例信息,所述目标位置信息包括所述目标应用所在设备的定位位置或所述目标应用中输入的搜索位置;接收所述服务端响应于所述数据获取请求所发送的数据获取响应;其中,所述数据获取响应用于指示所述地图数据集,所述地图数据集是根据所述缩放比例信息和所述目标位置信息从全量数据集中获取的;将所述地图数据集中的各地图数据点,按照地理空间位置进行划分,以得到所述多个数据块
。11.
根据权利要求
10
所述的方法,其中,所述数据获取响应携带目标数据,所述目标数据是对地图数据集进行压缩和编码得到的;
所述将所述地图数据集中的各地图数据点,按照地理空间位置进行划分,以得到所述多个数据块之前,所述方法还包括:对所述目标数据进行解码和解压缩,以得到所述地图数据集;或者,调度所述主线程创建的至少一个第三子线程,对所述目标数据进行解码和解压缩,以得到所述地图数据集
。12.
根据权利要求1所述的方法,其中,所述对各所述第一数据块对应的第一瓦片数据进行合并,得到第一合并瓦片数据之前,所述方法还包括:销毁所述至少一个第一子线程,以释放所述至少一个第一子线程所占用的资源
。13.
一种地图渲染装置,应用于目标应用的主线程,包括:获取模块,用于获取目标应用的显示页面中地图可视区域对应的第一地理坐标范围;确定模块,用于从多个数据块中,确定与所述第一地理坐标范围匹配的至少一个第一数据块;其中,同一数据块中包含地图数据集中同一区域内的各地图数据点;调度模块,用于调度所述主线程创建的至少一个第一子线程对各所述第一数据块进行渲染,以得到各所述第一数据块对...

【专利技术属性】
技术研发人员:陈建辉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1