地图中聚合点集的展示方法及装置制造方法及图纸

技术编号:20916403 阅读:27 留言:0更新日期:2019-04-20 09:40
本发明专利技术实施例提供一种地图中聚合点集的展示方法及装置,其中展示方法包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;向所述数据库发送获取新增的标记点的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。本发明专利技术实施例能够大幅提高渲染效率,降低运算成本。

Display Method and Device of Aggregate Point Set in Map

The embodiment of the present invention provides a method and device for displaying aggregated point sets in maps, in which the displaying method includes: sending a request to acquire the ID of all marking points in the current map display range to the database if the map display range changes; receiving the ID of all marking points in the current map display range and the marking within the map display range with the cached changes of previous times. The ID of the marker is compared; the request for obtaining the coordinates of the new marker is sent to the database; the coordinates of the new marker are received and cached, and the aggregation point set is calculated by traversing the new marker point to update the rendering result before the change. The rendering result includes the aggregation point set displayed according to the coordinates of the center of the aggregation point set and the aggregation point set. Number of tag points included. The embodiment of the invention can greatly improve the rendering efficiency and reduce the operation cost.

【技术实现步骤摘要】
地图中聚合点集的展示方法及装置
本专利技术实施例涉及地图展示
,更具体地,涉及地图中聚合点集的展示方法及装置。
技术介绍
在地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症。为了解决这一问题,通常需要一种手段能在用户有限的可视区域范围内,利用最小的区域展示出最全面的信息。聚合点集呈现是解决上述问题的常用手段,聚合点集呈现是指依据点数据的坐标信息,在地图上按照一定距离进行点聚合计算,落在范围内的点进行累计,再以标注的方式在地图上呈现统计出的聚合点集合,呈现每一个点集的位置和数量。现有的某款知名地图软件采用的格网均分的方式进行点聚合分组,该地图软件呈现的效果并不符合自然分布,聚合点的大小和间距几乎看不出差别,显示效果并不理想。此外,现有技术常采用的ArcGISJavaScriptAPI实现的显示效果也与该知名地图软件的显示效果类似,并且,两种方式都未实现点数据的获取过程的封装和优化,需要使用者自己事先获取点集,因此没法结合聚合分组过程实现缓存和效率优化。百度地图数据量较大的时候(超过5000)呈现就比较卡。ArcGISJSAPI内部的方法则使用起来较为不便,效率也有待优化。
技术实现思路
本专利技术实施例提供一种克服上述问题或者至少部分地解决上述问题的地图中聚合点集的展示方法及装置。第一个方面,本专利技术实施例提供一种地图中聚合点集的展示方法,包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。第二个方面,本专利技术实施例提供一种地图中聚合点集的展示装置,包括:ID获取模块,用于若获知地图显示范围发生变化,向数据库发送获取当前地图显示范围内所有标记点的ID的请求;ID比较模块,用于接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;坐标请求模块,用于若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求;渲染模块,用于接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提供的地图中聚合点集的展示方法及装置,通过从数据库中获取地图显示范围内的标记点的ID,减少了内存的占用,并且通过比较当前地图显示范围内的标记点与历次变化的地图显示范围内的标记点,在增长标记点的个数较少时采用直接追加至已渲染的聚合点集,更新现有的聚合点集,能够节省大量的时间和处理量。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的地图中聚合点集的展示方法的流程示意图;图2为本专利技术实施例提供的地图中聚合点集的展示装置的结构示意图;图3为本专利技术实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术实施例保护的范围。为了克服现有技术的上述问题,本专利技术实施例提供了一种地图中聚合点集的展示方法,其专利技术构思为:在每次地图显示范围发生变化时,通过从数据库获取当前显示范围内所有标记点的ID,并与变化前的地图显示范围内的标记点的ID进行比较,若当前地图显示范围内存在新增或减少的标记点,且新增和减少的标记点的个数较少,则只需要借助变化前的渲染结果,对新增的标记点进行聚合点集计算,相比现有技术中每次地图显示范围变化均需要重新全量聚合点集计算和渲染绘制,本专利技术实施例的展示方法能够大幅降低了运算成本。图1为本专利技术实施例提供的地图中聚合点集的展示方法的流程示意图,如图1所示,包括:S101、若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求。具体地,本专利技术实施例的展示方法适用于在手机、平板电脑、计算机、PDA等具有显示屏幕,并可展示地图的终端上运行,可以理解的是,以手机为例,当使用者在屏幕上滑动时,地图显示区域会发生平移,或者当使用者点击缩放按钮或者用预先设置的、代表对地图进行缩放的手势与屏幕交互时,地图显示区域会相应的进行缩放,本领域技术人员熟知判断地图显示范围发生变化的方式和方法,本专利技术实施例对此不作进一步的限定。在本专利技术实施例中,地图上所有标记点的信息均存储在数据库中,而不需要预先存储在终端中,这样能够大大降低终端中内存的占用。在地图中,最常见的标记点就是地名,以地名为例,北京市可能有数万个标记点,包括学校、商场、医院、地铁站等等,当地图的显示范围为整个中国时,虽然在显示时不可能具体显示出北京市的所有标记点,常常只会显示一个标记点:北京,但在向数据库发送当前地图显示范围内所有标记点的ID的请求时,数据库仍然会返回那些无法具体显示的标记点,即仍然会将北京市的数万个标记点的ID返回至终端。标记点的ID即标记点的唯一标识,通过设置ID,能够有效地区分出不同的标记点。S102、接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较。具体地,本专利技术实施例在每次接收到数据库返回的标记点的ID时,都会进行缓存,需要注意的是,本专利技术实施例会保留历次数据库返回的标记点的ID,以保证每次接收到新的标记点的ID时可以有比较的对象。显然,随着展示次数的增多,缓存的标记点的ID也在增多。本专利技术实施例通过将当前的标记点的ID和历次变化的标记点的ID进行比较,即可获知当前地图显示范围内相比历史上的显示范围多了哪些标记点、少了哪些标记点、增多了或者减少了多少标记点。S103、若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点的坐标的请求。地图显示范围发生变化通常有三种情况:平移、放大地图和缩小地图。在当前地图显示范围内新增标记点时,既可能是进行平移操作,也可能是缩小地图操作。本专利技术实施例在本文档来自技高网...

【技术保护点】
1.一种地图中聚合点集的展示方法,其特征在于,包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点ID的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。

【技术特征摘要】
1.一种地图中聚合点集的展示方法,其特征在于,包括:若获知地图显示范围发生变化,则向数据库发送获取当前地图显示范围内所有标记点的ID的请求;接收当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较;若当前地图显示范围内新增标记点,则向所述数据库发送获取新增的标记点ID的坐标的请求;接收并缓存所述新增的标记的坐标,遍历所述新增的标记点进行聚合点集计算,以更新变化前渲染结果,所述渲染结果包括:根据所述聚合点集的中心的坐标展示的聚合点集以及所述聚合点集包含的标记点的数量。2.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:若当前地图显示范围发生变化的方式为缩小比例尺,则向所述数据库发送获取所述新增的标记点的坐标的请求,并删除变化前渲染结果中的聚合点集;接收并缓存所述新增的标记点的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。3.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:若当前地图显示范围发生变化的方式为放大比例尺,则删除变化前渲染结果中的聚合点集,并遍历当前地图显示范围内的所有标记点重新进行聚合点集计算。4.根据权利要求1所述的展示方法,其特征在于,所述获取当前地图显示范围内的所有标记点的ID,并与缓存的历次变化的地图显示范围内的标记点的ID进行比较,之后还包括:若当前地图显示范围发生变化的方式为平移,且新增的标记点的个数不小于第一预设阈值,则删除变化前渲染结果中的聚合点集;根据本地缓存的当前地图显示范围的标记点的坐标,遍历当前地图显示范围内的所有标记点重新进行聚合点集计算;若新增的标记点个数小于第一预设阈值,则遍历新增标记点,对前一渲染结果的聚合点集进行更新,更新的内容包括聚合点集的中心坐标和数值。5.根据权利要求1所述的展示方法,其特征在于,所述遍历所述新增的标记点进行聚合点集计算,具体为:对于任意一个新增的标记点,遍历聚合点集计算所述标记点与聚合点集的中心的距离,若所述距离不大于预设距离阈值,则...

【专利技术属性】
技术研发人员:冉春林王海波丁冉
申请(专利权)人:北京市天元网络技术股份有限公司
类型:发明
国别省市:北京,11

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

1