CN110288689B - 对电子地图进行渲染的方法和装置 - Google Patents

对电子地图进行渲染的方法和装置 Download PDF

Info

Publication number
CN110288689B
CN110288689B CN201910539391.7A CN201910539391A CN110288689B CN 110288689 B CN110288689 B CN 110288689B CN 201910539391 A CN201910539391 A CN 201910539391A CN 110288689 B CN110288689 B CN 110288689B
Authority
CN
China
Prior art keywords
layer data
rendering
electronic map
data set
currently selected
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.)
Active
Application number
CN201910539391.7A
Other languages
English (en)
Other versions
CN110288689A (zh
Inventor
孙群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sankuai Online Technology Co Ltd
Original Assignee
Beijing Sankuai Online Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sankuai Online Technology Co Ltd filed Critical Beijing Sankuai Online Technology Co Ltd
Priority to CN201910539391.7A priority Critical patent/CN110288689B/zh
Publication of CN110288689A publication Critical patent/CN110288689A/zh
Application granted granted Critical
Publication of CN110288689B publication Critical patent/CN110288689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Abstract

本公开是关于一种对电子地图进行渲染的方法和装置,属于计算机技术领域。所述方法包括:获取电子地图的多个图层数据;根据每个图层数据的渲染方式,对多个图层数据进行划分,得到至少一个图层数据组;对每个图层数据组进行渲染。采用本公开,可以对电子地图的多个图层数据进行划分,得到至少一个图层数据组,对每个图层数据组进行渲染。这样,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。

Description

对电子地图进行渲染的方法和装置
技术领域
本申请涉及计算机技术领域,特别涉及一种对电子地图进行渲染的方法和装置。
背景技术
随着计算机技术的飞速发展,电子地图已经成为人们生活必不可少的一种工具。在浏览器中打开在线地图平台,即可查看电子地图,或者打开电子地图应用程序也可查看电子地图,方便又快捷。
WebGL(Web Graphics Library,网络图形库)是一种电子端进行图形渲染的标准API(Application Programming Interface,应用程序编程接口),目前主流的电子地图均采用WebGL技术渲染电子地图。WebGL的渲染方案中,电子地图中存在各种类型的地图元素,地图元素可以按照分类确定不同的图层数据,例如,将餐馆类型的地图元素确定为一个图层数据,将道路类型的地图元素确定为一个图层数据,将公园类型的地图元素确定为一个图层数据。在渲染电子地图时,对不同的图层数据分别进行渲染。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
由于浏览器本身的性能不高,所以电子地图渲染时会出现卡顿的情况。为了减少卡顿的时间,通常采用降低图层的图像分辨率的方式减少图层的数据量,进而加快渲染图层的效率。但通过这种方式加快渲染的效果十分有限,当地理数据较多时,渲染卡顿的情况依旧很严重。
发明内容
为了克服相关技术中存在的电子地图渲染卡顿的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种对电子地图进行渲染的方法,所述方法包括:
获取电子地图的多个图层数据;
根据每个图层数据的渲染方式,对所述多个图层数据进行划分,得到至少一个图层数据组;
对每个图层数据组进行渲染。
可选地,所述根据每个图层数据的渲染方式,对所述多个图层数据进行划分,得到至少一个图层数据组,包括:
在所述多个图层数据中逐个选取图层数据,每选取一个图层数据,检测是否存在与当前选取的图层数据的渲染方式相对应的图层数据组;
如果不存在与当前选取的图层数据的渲染方式相对应的图层数据组,则建立当前选取的图层数据的渲染方式对应的图层数据组,将所述当前选取的图层数据添加到新建立的图层数据组中;
如果存在与当前选取的图层数据的渲染方式相对应的图层数据组,则将所述当前选取的图层数据添加到所述图层数据组中。
可选地,所述电子地图的多个图层数据是按照预设顺序排列的多个图层数据;
所述根据每个图层数据的渲染方式,对所述多个图层数据进行划分,得到至少一个图层数据组,包括:
建立图层数据组,基于所述预设顺序,将第一个图层数据添加到所述图层数据组中;
按照所述预设顺序逐个选取所述第一个图层数据之后的图层数据,每选取一个图层数据,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同;
如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式相同,则将所述当前选取的图层数据添加到所述前一图层数据所在的图层数据组中;
如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式不相同,则建立新的图层数据组,将所述当前选取的图层数据划分至新建立的图层数据组中。
可选地,所述对每个图层数据组进行渲染,包括:
对于所述至少一个图层数据组中的每个图层数据组,对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,根据所述渲染数据,渲染所述图层数据组。
可选地,所述对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,包括:
建立空白字节数组,对所述图层数据组中的每个图层数据分别进行数据解析,将数据解析得到的字节数据写入所述空白字节数组,得到所述图层数据组对应的渲染数据。
可选地,所述获取电子地图的多个图层数据,包括:
在显示第一电子地图的状态下,响应于接收到第二电子地图的渲染指令,向服务器发送所述第二电子地图的获取请求;
接收所述服务器发送的所述第二电子地图的多个图层数据;
所述对每个图层数据组进行渲染之前,还包括:
取消对所述第一电子地图的显示。
可选地,所述渲染方式包括点渲染方式、线渲染方式、面渲染方式、线图渲染方式、面图渲染方式和文本渲染方式。
根据本公开实施例的第二方面,提供一种对电子地图进行渲染的装置,所述装置包括:
获取模块,用于获取电子地图的多个图层数据;
划分模块,用于根据每个图层数据的渲染方式,对所述多个图层数据进行划分,得到至少一个图层数据组;
渲染模块,用于对每个图层数据组进行渲染。
可选地,所述划分模块,用于:
在所述多个图层数据中逐个选取图层数据,每选取一个图层数据,检测是否存在与当前选取的图层数据的渲染方式相对应的图层数据组;
当不存在与当前选取的图层数据的渲染方式相对应的图层数据组时,建立当前选取的图层数据的渲染方式对应的图层数据组,将所述当前选取的图层数据添加到新建立的图层数据组中;
当存在与当前选取的图层数据的渲染方式相对应的图层数据组时,将所述当前选取的图层数据添加到所述图层数据组中。
可选地,所述电子地图的多个图层数据是按照预设顺序排列的多个图层数据;
所述划分模块,用于建立图层数据组,基于所述预设顺序,将第一个图层数据添加到所述图层数据组中;按照所述预设顺序逐个选取所述第一个图层数据之后的图层数据,每选取一个图层数据,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同;当所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式相同时,将所述当前选取的图层数据添加到所述前一图层数据所在的图层数据组中;当所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式不相同时,建立新的图层数据组,将所述当前选取的图层数据划分至新建立的图层数据组中。
可选地,所述渲染模块,用于:
对于所述至少一个图层数据组中的每个图层数据组,对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,根据所述渲染数据,渲染所述图层数据组。
可选地,所述渲染模块,用于:
建立空白字节数组,对所述图层数据组中的每个图层数据分别进行数据解析,将数据解析得到的字节数据写入所述空白字节数组,得到所述图层数据组对应的渲染数据。
可选地,所述获取模块,用于在显示第一电子地图的状态下,响应于接收到第二电子地图的渲染指令,向服务器发送所述第二电子地图的获取请求;接收所述服务器发送的所述第二电子地图的多个图层数据;
所述装置还包括:
取消显示模块,用于取消对所述第一电子地图的显示。
可选地,所述渲染方式包括点渲染方式、线渲染方式、面渲染方式、线图渲染方式、面图渲染方式和文本渲染方式。
根据本公开实施例的第三方面,提供一种终端,所述终端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述对电子地图进行渲染的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述对电子地图进行渲染的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,对电子地图的多个图层数据进行划分,得到至少一个图层数据组,对每个图层数据组进行渲染。这样,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种对电子地图进行渲染的方法的流程示意图;
图2是根据一示例性实施例示出的一种图层数据组的示意图;
图3是根据一示例性实施例示出的一种对电子地图进行渲染的方法的流程示意图;
图4是根据一示例性实施例示出的一种对电子地图进行渲染的操作效果示意图;
图5是根据一示例性实施例示出的一种对电子地图进行渲染的操作效果示意图;
图6是根据一示例性实施例示出的一种对电子地图进行渲染的装置的结构示意图;
图7是根据一示例性实施例示出的一种终端的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种对电子地图进行渲染的方法,该方法可以由终端实现。其中,终端可以是手机、平板电脑、台式计算机、笔记本计算机等。
终端中可以安装有系统程序和应用程序。用户在使用终端的过程中,基于自己的不同需求,会使用各种各样的应用程序。终端中可以安装有浏览器或者电子地图应用程序。用户在浏览器中打开在线地图平台,即可查看电子地图,或者打开电子地图应用程序也可查看电子地图。
本公开一示例性实施例提供了一种对电子地图进行渲染的方法,如图1所示,该方法的处理流程可以包括如下的步骤:
步骤S110,获取电子地图的多个图层数据。
其中,电子地图中存在各种类型的地图元素,地图元素可以按照分类确定不同的图层数据,例如,将餐馆类型的地图元素确定为一个图层数据,将道路类型的地图元素确定为一个图层数据,将公园类型的地图元素确定为一个图层数据。电子地图中可以包含有几百个图层数据。
在实施中,终端在检测到用户触发开启浏览器中的电子地图或者电子地图应用程序时,向服务器发送图层数据获取请求,服务器响应于图层数据获取请求,将图层数据获取请求对应的多个图层数据发送至终端,终端可以获取多个图层数据。或者,终端可以预先从服务器下载并保存多个图层数据。
步骤S120,根据每个图层数据的渲染方式,对多个图层数据进行划分,得到至少一个图层数据组。
其中,渲染方式包括但不限于点渲染方式、线渲染方式、面渲染方式、线图渲染方式、面图渲染方式和文本渲染方式。
在实施中,不同图层数据对应的渲染方式相同或者不同,相似类型的图层数据对应的渲染方式相同,不相似类型的图层数据对应的渲染方式不同。终端可以将相似类型的图层数据划分为一组,这样后续可以并行地通过对应的渲染方式对图层数据组进行渲染。
如图2所示,图层数据可以包括国道省道主路图层数据、高速隧道图层数据、县道辅路图层数据、乡镇村落图层数据、行人道路图层数据、村庄标注图层数据、公交站点图层数据、地铁站点图层数据、景点标注图层数据、餐馆标注图层数据。国道省道主路图层数据、高速隧道图层数据、县道辅路图层数据、乡镇村落图层数据、行人道路图层数据为相似类型的图层数据,可以将它们组合成道路图层数据组;村庄标注图层数据、公交站点图层数据、地铁站点图层数据、景点标注图层数据、餐馆标注图层数据为相似类型的图层数据,可以将它们组合成标注图层数据组。
终端可以确定每个图层的渲染方式,根据每个图层数据的渲染方式,对多个图层数据进行划分,得到至少一个图层数据组。终端可以将划分为一组的图层数据放入一个图层数据组中。终端也可以将划分为一组的图层数据放入一个图层数据组中,并且将一个图层数据组中的图层数据进行组合。
在本公开实施例中,提供两种方式进行图层数据的划分,当然还可以通过其他方式进行图层数据的划分,本公开实施例不对图层数据的划分过程进行限定。
可选地,步骤S120可以包括:在多个图层数据中逐个选取图层数据,每选取一个图层数据,检测是否存在与当前选取的图层数据的渲染方式相对应的图层数据组;如果不存在与当前选取的图层数据的渲染方式相对应的图层数据组,则建立当前选取的图层数据的渲染方式对应的图层数据组,将当前选取的图层数据添加到新建立的图层数据组中;如果存在与当前选取的图层数据的渲染方式相对应的图层数据组,则将当前选取的图层数据添加到图层数据组中。
或者,电子地图的多个图层数据是按照预设顺序排列的多个图层数据,步骤S120可以包括:建立图层数据组,基于预设顺序,将第一个图层数据添加到图层数据组中;按照预设顺序逐个选取第一个图层数据之后的图层数据,每选取一个图层数据,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同;如果当前选取的图层数据的渲染方式与前一图层数据的渲染方式相同,则将当前选取的图层数据添加到前一图层数据所在的图层数据组中;如果当前选取的图层数据的渲染方式与前一图层数据的渲染方式不相同,则建立新的图层数据组,将当前选取的图层数据划分至新建立的图层数据组中。
在实施中,本公开实施例提供的第一种进行图层数据的划分的方法,不要求多个图层数据的排列顺序。通过本公开实施例提供的第一种进行图层数据的划分的方法,终端可以确定所有图层数据对应的渲染方式的种类数目,建立和上述种类数目相等的图层数据组,每个图层数据组对应一种渲染方式,将所有图层数据划分到和对应的渲染方式相应的图层数据组中。不同图层数据对应的渲染方式相同或者不同,相似类型的图层数据对应的渲染方式相同,不相似类型的图层数据对应的渲染方式不同。通过本公开实施例提供的第一种进行图层数据的划分的方法,终端可以将相似类型的图层数据划分为一组,这样后续可以并行地通过对应的渲染方式对图层数据组进行渲染。进而,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。
在本公开实施例提供的第二种进行图层数据的划分的方法中,假设图层数据是按照预设顺序排列的。例如,按照预设顺序排列的图层数据为layer1、layer2、layer3……layer N。可以按照预设顺序排列逐个对图层数据进行划分。按照预设顺序逐个选取第一个图层数据之后,可以根据第一个图层数据建立相应的图层数据组,将属于该图层数据组的图层数据划分到该图层数据组中。在一种示例性的说明中,如图3所示,实施流程可以包括:
步骤S310,读取layer1,确定layer1的类型为道路类型,根据layer1的类型,将layer1划分到对应的图层数据组roadGroupLayer中。
例如,layer1是国道省道主路图层数据,确定layer1的类型是道路类型。如果未创建过道路类型对应的图层数据组,则创建道路类型对应的图层数据组roadGroupLayer,将layer1放入roadGroupLayer中。roadGroupLayer为当前活动的图层数据组,可以称为active group layer。
步骤S320,读取layer2,确定layer2的类型为道路类型,根据layer2的类型,将layer2划分到对应的图层数据组roadGroupLayer中。
例如,layer2是高速隧道图层数据,确定layer2的类型是道路类型。由于已创建过道路类型对应的图层数据组roadGroupLayer,可以直接把layer2放入roadGroupLayer中。
步骤S330,读取layer X,确定layer X的类型为标注类型,根据layer X的类型,将layer X放入图层数据组labelGroupLayer中。
例如,参照步骤S320,继续处理后续的图层数据。假设当前处理的是layer X,layer X的类型不是道路类型。layer X是公交站点图层数据,确定layer X的类型不是道路类型,则layer X不能被放入roadGroupLayer中。可以为layer X创建标注类型对应的图层数据组labelGroupLayer,将layer X放入labelGroupLayer中。此时,labelGroupLayer为当前活动的图层数据组。
步骤S340,重复执行步骤S330,如果后续图层数据能够放入当前活动的图层数据组,则将后续图层数据放入当前活动的图层数据组,如果后续图层数据不能够放入当前活动的图层数据组,则创建新的图层数据组。
通过上述步骤可以保证类型相同且顺序相连的图层数据,能够被放入相同的图层数据组中。
步骤S350,完成所有图层数据的划分。
通过上述方式,可以将所有图层数据划分到各自对应的图层数据组中,每个图层数据组包含多个图层数据。
步骤S130,对每个图层数据组进行渲染。
在实施中,终端可以对每个图层数据组中的多个图层数据并行进行渲染,这样,可以缩减对所有图层数据进行渲染所消耗的时长,可以加快渲染图层数据的进度。不同图层数据对应的渲染方式相同或者不同,相似类型的图层数据对应的渲染方式相同,不相似类型的图层数据对应的渲染方式不同。通过本公开实施例提供的第二种进行图层数据的划分的方法,终端可以将相似类型的图层数据划分为一组,这样后续可以并行地通过对应的渲染方式对图层数据组进行渲染。进而,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。
可选地,步骤S130可以包括:对于至少一个图层数据组中的每个图层数据组,对图层数据组进行数据解析,生成图层数据组对应的渲染数据,根据渲染数据,渲染图层数据组。
在实施中,在一种可能的实现方式中,终端可以建立空白字节数组,对图层数据组中的每个图层数据分别进行数据解析,将数据解析得到的字节数据写入空白字节数组,得到图层数据组对应的渲染数据。
终端可以建立空白字节数组,接着对图层数据组中的每个图层数据分别进行数据解析,解析得到字节数据,字节数据可以是二进制字节数据。终端可以将字节数据写入空白字节数组,将写入字节数据的空白字节数组,作为图层数据组对应的渲染数据。终端可以基于图层数据组对应的渲染数据,对该图层数据组进行渲染。
可选地,本公开实施例提供的方法还可以包括:在显示第一电子地图的状态下,响应于接收到第二电子地图的渲染指令,向服务器发送第二电子地图的获取请求;接收服务器发送的第二电子地图的多个图层数据;根据每个图层数据的渲染方式,对多个图层数据进行划分,得到至少一个图层数据组;取消对第一电子地图的显示;对每个图层数据组进行渲染。
在实施中,当用户查看当前地图(可称为第一电子地图)时,如果进行切换操作、放大操作或者缩小操作等(这些操作对应的目标地图可称为第二电子地图),在获取到第二电子地图之前,终端暂时保持对第一电子地图的显示,直到获取到第二电子地图的图层数据时,取消对第一电子地图的显示,渲染第二电子地图并进行显示。
通过本公开实施例提供的方式,如图4所示,改进后(本申请)中电子地图渲染帧率较改进前(现有技术)中电子地图渲染帧率提升了36%。如图5所示,改进后(本申请)中地图图层数量(图层数据组)较改进前(现有技术)中地图图层数量(图层数据)较少了40.8%。通过本申请的方法,平均渲染一帧电子地图从30ms缩减到22ms,减少27%。一帧电子地图WebGL绘图调用次数从687缩减到323,减少53%。一帧电子地图WebGL绘图所有命令调用次数从3529缩减到1974,减少44%。
通过本公开实施例提供的方法,对电子地图的多个图层数据进行划分,得到至少一个图层数据组,对每个图层数据组进行渲染。这样,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。
本公开又一示例性实施例提供了一种对电子地图进行渲染的装置,如图6所示,该装置包括:
获取模块610,用于获取电子地图的多个图层数据;
划分模块620,用于根据每个图层数据的渲染方式,对所述多个图层数据进行划分,得到至少一个图层数据组;
渲染模块630,用于对每个图层数据组进行渲染。
可选地,所述划分模块620,用于:
在所述多个图层数据中逐个选取图层数据,每选取一个图层数据,检测是否存在与当前选取的图层数据的渲染方式相对应的图层数据组;
当不存在与当前选取的图层数据的渲染方式相对应的图层数据组时,建立当前选取的图层数据的渲染方式对应的图层数据组,将所述当前选取的图层数据添加到新建立的图层数据组中;
当存在与当前选取的图层数据的渲染方式相对应的图层数据组时,将所述当前选取的图层数据添加到所述图层数据组中。
可选地,所述电子地图的多个图层数据是按照预设顺序排列的多个图层数据;
所述划分模块620,用于建立图层数据组,基于所述预设顺序,将第一个图层数据添加到所述图层数据组中;按照所述预设顺序逐个选取所述第一个图层数据之后的图层数据,每选取一个图层数据,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同;当所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式相同时,将所述当前选取的图层数据添加到所述前一图层数据所在的图层数据组中;当所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式不相同时,建立新的图层数据组,将所述当前选取的图层数据划分至新建立的图层数据组中。
可选地,所述渲染模块630,用于:
对于所述至少一个图层数据组中的每个图层数据组,对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,根据所述渲染数据,渲染所述图层数据组。
可选地,所述渲染模块630,用于:
建立空白字节数组,对所述图层数据组中的每个图层数据分别进行数据解析,将数据解析得到的字节数据写入所述空白字节数组,得到所述图层数据组对应的渲染数据。
可选地,所述获取模块610,用于在显示第一电子地图的状态下,响应于接收到第二电子地图的渲染指令,向服务器发送所述第二电子地图的获取请求;接收所述服务器发送的所述第二电子地图的多个图层数据;
所述装置还包括:
取消显示模块,用于取消对所述第一电子地图的显示。
可选地,所述渲染方式包括点渲染方式、线渲染方式、面渲染方式、线图渲染方式、面图渲染方式和文本渲染方式。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,对电子地图的多个图层数据进行划分,得到至少一个图层数据组,对每个图层数据组进行渲染。这样,通过对图层数据组进行渲染,相当于对多个图层数据同时并行进行渲染,这样,减少了渲染花费的时间,进而使渲染卡顿的情况减少许多。
需要说明的是:上述实施例提供的对电子地图进行渲染的装置在对电子地图进行渲染时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对电子地图进行渲染的装置与对电子地图进行渲染的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本公开一个示例性实施例提供的终端1800的结构示意图。该终端1800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中方法实施例提供的对电子地图进行渲染的方法。
在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、触摸显示屏1805、摄像头1806、音频电路1807、定位组件1808和电源1809中的至少一种。
外围设备接口1803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置终端1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在终端1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805可以是柔性显示屏,设置在终端1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
定位组件1808用于定位终端1800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1808可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1809用于为终端1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
加速度传感器1811可以检测以终端1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制触摸显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1812可以检测终端1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对终端1800的3D动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1813可以设置在终端1800的侧边框和/或触摸显示屏1805的下层。当压力传感器1813设置在终端1800的侧边框时,可以检测用户对终端1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在触摸显示屏1805的下层时,由处理器1801根据用户对触摸显示屏1805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置终端1800的正面、背面或侧面。当终端1800上设置有物理按键或厂商Logo时,指纹传感器1814可以与物理按键或厂商Logo集成在一起。
光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制触摸显示屏1805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1805的显示亮度;当环境光强度较低时,调低触摸显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
接近传感器1816,也称距离传感器,通常设置在终端1800的前面板。接近传感器1816用于采集用户与终端1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变小时,由处理器1801控制触摸显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变大时,由处理器1801控制触摸显示屏1805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (9)

1.一种对电子地图进行渲染的方法,其特征在于,所述方法包括:
获取电子地图的多个图层数据,所述电子地图的多个图层数据是按照预设顺序排列的多个图层数据;
基于所述预设顺序中第一个图层数据的数据类型,确定所述第一个图层数据的渲染方式,建立所述渲染方式对应的图层数据组,将所述第一个图层数据添加到所述图层数据组中,按照所述预设顺序逐个选取所述第一个图层数据之后的图层数据,每选取一个图层数据,基于所述图层数据的数据类型,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同,如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式相同,则将所述当前选取的图层数据添加到所述前一图层数据所在的图层数据组中,如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式不相同,则建立新的图层数据组,将所述当前选取的图层数据划分至新建立的图层数据组中,得到至少一个图层数据组;
对每个图层数据组进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述获取电子地图的多个图层数据之后,所述方法还包括:
在所述多个图层数据中逐个选取图层数据,每选取一个图层数据,检测是否存在与当前选取的图层数据的渲染方式相对应的图层数据组;
如果不存在与当前选取的图层数据的渲染方式相对应的图层数据组,则建立当前选取的图层数据的渲染方式对应的图层数据组,将所述当前选取的图层数据添加到新建立的图层数据组中;
如果存在与当前选取的图层数据的渲染方式相对应的图层数据组,则将所述当前选取的图层数据添加到所述图层数据组中。
3.根据权利要求1所述的方法,其特征在于,所述对每个图层数据组进行渲染,包括:
对于所述至少一个图层数据组中的每个图层数据组,对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,根据所述渲染数据,渲染所述图层数据组。
4.根据权利要求3所述的方法,其特征在于,所述对所述图层数据组进行数据解析,生成所述图层数据组对应的渲染数据,包括:
建立空白字节数组,对所述图层数据组中的每个图层数据分别进行数据解析,将数据解析得到的字节数据写入所述空白字节数组,得到所述图层数据组对应的渲染数据。
5.根据权利要求1所述的方法,其特征在于,所述获取电子地图的多个图层数据,包括:
在显示第一电子地图的状态下,响应于接收到第二电子地图的渲染指令,向服务器发送所述第二电子地图的获取请求;
接收所述服务器发送的所述第二电子地图的多个图层数据;
所述对每个图层数据组进行渲染之前,还包括:
取消对所述第一电子地图的显示。
6.根据权利要求1所述的方法,其特征在于,所述渲染方式包括点渲染方式、线渲染方式、面渲染方式、线图渲染方式、面图渲染方式和文本渲染方式。
7.一种对电子地图进行渲染的装置,其特征在于,所述装置包括:
获取模块,用于获取电子地图的多个图层数据,所述电子地图的多个图层数据是按照预设顺序排列的多个图层数据;
划分模块,用于基于所述预设顺序中第一个图层数据的数据类型,确定所述第一个图层数据的渲染方式,建立所述渲染方式对应的图层数据组,将所述第一个图层数据添加到所述图层数据组中,按照所述预设顺序逐个选取所述第一个图层数据之后的图层数据,每选取一个图层数据,基于所述图层数据的数据类型,确定当前选取的图层数据的渲染方式与前一图层数据的渲染方式是否相同,如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式相同,则将所述当前选取的图层数据添加到所述前一图层数据所在的图层数据组中,如果所述当前选取的图层数据的渲染方式与所述前一图层数据的渲染方式不相同,则建立新的图层数据组,将所述当前选取的图层数据划分至新建立的图层数据组中,得到至少一个图层数据组;
渲染模块,用于对每个图层数据组进行渲染。
8.一种终端,其特征在于,所述终端包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-6任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN201910539391.7A 2019-06-20 2019-06-20 对电子地图进行渲染的方法和装置 Active CN110288689B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910539391.7A CN110288689B (zh) 2019-06-20 2019-06-20 对电子地图进行渲染的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910539391.7A CN110288689B (zh) 2019-06-20 2019-06-20 对电子地图进行渲染的方法和装置

Publications (2)

Publication Number Publication Date
CN110288689A CN110288689A (zh) 2019-09-27
CN110288689B true CN110288689B (zh) 2020-09-01

Family

ID=68005172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910539391.7A Active CN110288689B (zh) 2019-06-20 2019-06-20 对电子地图进行渲染的方法和装置

Country Status (1)

Country Link
CN (1) CN110288689B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015142660A1 (en) * 2014-03-15 2015-09-24 Urban Engines, Inc. Solution for highly customized interactive mobile maps
CN105335410B (zh) * 2014-07-31 2017-06-16 优视科技有限公司 一种基于合成渲染加速的网页更新方法和装置
DE102015216426B4 (de) * 2015-08-27 2020-12-17 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Abscheidung einer kristallinen Kohlenstoffschicht auf einem Gruppe-IV-Substrat
CN107292945B (zh) * 2016-03-31 2021-01-26 阿里巴巴集团控股有限公司 视频图像的图层渲染处理方法及其系统
CN109646949B (zh) * 2017-10-11 2021-06-08 腾讯科技(深圳)有限公司 对象处理方法、装置、存储介质和电子装置
CN108509239B (zh) * 2018-03-07 2021-08-20 斑马网络技术有限公司 图层显示方法、装置、电子设备及存储介质
CN109640168B (zh) * 2018-11-27 2020-07-24 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN110288689A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN110602321B (zh) 应用程序切换方法、装置、电子装置及存储介质
CN109922356B (zh) 视频推荐方法、装置和计算机可读存储介质
CN110971930A (zh) 虚拟形象直播的方法、装置、终端及存储介质
CN109862412B (zh) 合拍视频的方法、装置及存储介质
CN110308956B (zh) 一种应用界面显示方法、装置及移动终端
CN108664300B (zh) 一种画中画模式下的应用界面显示方法及装置
CN110677713B (zh) 视频图像处理方法及装置、存储介质
CN110321126B (zh) 生成页面代码的方法和装置
CN109783176B (zh) 切换页面的方法和装置
CN111711841A (zh) 图像帧播放方法、装置、终端及存储介质
CN109101166B (zh) 音频控制方法、装置及存储介质
CN108845777B (zh) 播放帧动画的方法和装置
CN110769120A (zh) 进行消息提醒的方法、装置、设备及存储介质
CN111083526A (zh) 视频转场方法、装置、计算机设备及存储介质
CN110288689B (zh) 对电子地图进行渲染的方法和装置
CN110851435A (zh) 一种存储数据的方法及装置
CN111464829B (zh) 切换媒体数据的方法、装置、设备及存储介质
CN113345478B (zh) 播放器时刻获取方法、设备、存储介质及播放器
CN110471613B (zh) 存储数据的方法、读取数据的方法、装置及系统
CN110045999B (zh) 绘制组件的方法、装置、终端和存储介质
CN111897465B (zh) 弹窗显示方法、装置、设备及存储介质
CN112612405B (zh) 窗口显示方法、装置、设备及计算机可读存储介质
CN110868642B (zh) 视频播放方法、装置及存储介质
CN109286769B (zh) 音频识别方法、装置及存储介质
CN108881715B (zh) 拍摄模式的启用方法、装置、终端及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant