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 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。