一种实现地图数据快速加载的方法
【专利摘要】本发明涉及地图缩放技术,其公开了一种实现地图数据快速加载的方法,解决传统技术中在地图漫游或缩放时出现地图加载缓慢、数据元素重叠的问题。该方法包括以下步骤:a.建立地图数据获取服务接口;b.设置地图边界变化监听事件对地图边界变化情况进行监听;c.判断地图边界变化是否大于阈值X,若是,则进入步骤d,否则,返回步骤c;d.调用地图数据获取服务接口根据调用端的传入的参数对地图元素数据进行处理,获取最终符合条件的元素集合;e.将最终符合条件的元素集合中的地图元素数据绘制在地图上。本发明适用于地图漫游或缩放。
【专利说明】一种实现地图数据快速加载的方法
【技术领域】
[0001]本发明涉及地图缩放技术,特别涉及一种实现地图数据快速加载的方法。
【背景技术】
[0002]近年来,位置服务得到不断的发展,越来越多的网站和手机应用软件提供了相关的位置服务功能,涉及的范围包括:位置签到、信息查询、交友相关等。
[0003]但是由于网络速度、电脑配置、嵌入式处理器的速度等影响,在地图漫游和地图缩放时,对于数据元素的加载会有一定的影响,使得用户体验效果不是很理想,直观表现为地图加载缓慢、数据元素重叠等现象。
[0004]因此,寻求一种实现地图数据快速加载的方法成为地图缩放技术的一项研究热点。
【发明内容】
[0005]本发明所要解决的技术问题是:提出一种实现地图数据快速加载的方法,解决传统技术中在地图漫游或缩放时出现地图加载缓慢、数据元素重叠的问题。
[0006]本发明解决上述技术问题所采用的技术方案是:
[0007]—种实现地图数据快速加载的方法,应用于地图漫游或缩放时对地图数据的处理,其包括以下步骤:
[0008]a.建立地图数据获取服务接口 ;
[0009]b.设置地图边界变化监听事件对地图边界变化情况进行监听;
[0010]c.判断地图边界变化是否大于阈值X,若是,则进入步骤d,否则,返回步骤c ;
[0011]d.调用地图数据获取服务接口根据调用端的传入的参数对地图元素数据进行处理,获取最终符合条件的元素集合;
[0012]e.将最终符合条件的元素集合中的地图元素数据绘制在地图上。
[0013]进一步,步骤d中,所述调用端的传入的参数包括:地图缩放级别、调用端当前地图的最大经纬度参数、最小经纬度参数。
[0014]进一步,步骤d具体包括:
[0015]dl.地图数据获取服务接口根据调用端传入的最大经纬度参数、最小经纬度参数对地图元素数据进行过滤,排除不在经纬度范围内的元素,获得元素集合Ml ;
[0016]d2.根据元素集合Ml中元素的个数与缩放级别*权重H的大小关系判断是否对元素集合Ml进行抽样处理,若需要进行抽样处理,则进入步骤d3,否则,将元素集合Ml作为最终符合条件的元素集合;
[0017]d3.对元素集合Ml进行抽样处理,将经过抽样处理后的元素集合作为最终符合条件的元素集合。
[0018]进一步,步骤d2具体包括:
[0019]d21.判断元素集合Ml中的元素的个数是否大于缩放级别*权重H,若是,则进入步骤d3,否则进入步骤d22 ;[0020]d22.将元素集合Ml作为最终符合条件的元素集合。[0021]进一步,步骤d3中,所述对元素集合Ml进行抽样处理的方式为:根据网格方式对 元素集合Ml中的元素进行过滤,保证经过抽样处理后的元素集合中剩余缩放级别*权重H 个元素。[0022]进一步,所述根据网格的方式对元素集合Ml的元素进行过滤具体包括:[0023]将每个网格内的元素个数与阈值Y进行比较,对于元素个数小于或等于阈值Y的 网格不作处理,仅对元素个数大于阈值Y的网格随机抽取一定数量的元素数据并丢弃。[0024]本发明的有益效果是:提升了在地图漫游或缩放时对地图数据的加载速度,给用 户带来更好的体验。【专利附图】
【附图说明】[0025]图1为本发明中的实现地图数据快速加载的方法流程图;[0026]图2为网格过滤法的示意图。【具体实施方式】[0027]本发明旨在提出一种实现地图数据快速加载的方法,解决传统技术中在地图漫游 或缩放时出现地图加载缓慢、数据元素重叠的问题。[0028]下面结合附图对本发明的方案作进一步的描述:[0029]参见图1,本发明中实现地图数据快速加载的方法包括以下实现步骤:[0030]a.建立地图数据获取服务接口 ;[0031]b.设置地图边界变化监听事件对地图边界变化情况进行监听;[0032]c.判断地图边界变化是否大于阈值X,若是,则进入步骤d,否则,返回步骤c ;[0033]d.调用地图数据获取服务接口根据调用端的传入的参数对地图元素数据进行处 理,获取最终符合条件的元素集合;[0034]e.将最终符合条件的元素集合中的地图元素数据绘制在地图上。[0035]上述步骤a中,地图数据获取服务接口的输入参数为:地图zoom (缩放)级别,调 用端当前地图的最大经度、最小经度、最大纬度、最小纬度。[0036]上述步骤b中,设置地图边界变化监听事件,基本上所有的地图引擎都有自己的 地图边界变化的监听事件,在这里,只需要设置地图边界变化的事件处理函数即可,处理函 数需要实现以下功能:1)提供设置边界变化的阈值接口 ;2)当边界变化小于阈值时,不做 处理;3)当边界变化大于阈值时,调用地图数据获取接口,获取新的元素数据。[0037]上述步骤c中,判断地图边界变化是否大于阈值X,这里的阈值X可以根据算法具 体设置,其目的是为了判断地图缩放的程度是否较大,若变化小于阈值X则说明可能只是 做了很小程度的缩放,此时不需要加载新的地图元素数据,则返回继续监听地图边界变化 情况;若变化大于阈值X则说明书可能做了较大程度的缩放,此时需要加载新的地图元素 数据,则进入下一步。[0038]上述步骤d中,调用地图数据获取服务接口根据调用端的传入的参数对地图元素 数据进行处理,获取最终符合条件的元素集合的具体实现方式为:[0039]地图数据获取服务接口根据调用端传入的参数中的最大经度、最小经度、最大纬度、最小纬度。对所有的数据进行过滤,排除不在经纬度范围内的元素,获得元素集合M1,再根据元素集合Ml中的元素个数与zoom级别*权重H的大小比较情况判定是否需要对元素集合Ml进行抽样处理:若元素集合Ml中的元素个数< zoom级别*权重H,则不需要进行抽样处理,直接将元素集合Ml作为最终符合条件的元素集合;若元素集合Ml中的元素个数> zoom级别*权重H,则需要进行抽样处理;
[0040]在本发明中,采用抽样处理的方式为通过网格方式过滤,如图2所示:
[0041]可以通过设定阈值Y (这里的阈值Y同样可以根据算法需求进行具体设置)来判断每个网格内的元素多少,对于网格内没有元素数据,或者元素数据的个数较少而小于或等于阈值Y时(如图2中的a、b、c网格),则不对这些网格进行处理;若网格内的元素数据的个数较多而大于阈值Y时(如图2中的d/e/f、m/n、0/s等网格),则随机抽取一定数量的元素数据并丢弃,如此处理后保证元素集合Ml中剩余的元素数据的个数为zoom级别*权重H个即可。上述步骤e中,将地图数据接口传来的数据,绘制在地图上,实现地图元素数据随着地图缩放,地图漫游时动态变化、更新。
【权利要求】
1.一种实现地图数据快速加载的方法,应用于地图漫游或缩放时对地图数据的处理, 其特征在于,包括以下步骤:a.建立地图数据获取服务接口;b.设置地图边界变化监听事件对地图边界变化情况进行监听;c.判断地图边界变化是否大于阈值X,若是,则进入步骤d,否则,返回步骤c;d.调用地图数据获取服务接口根据调用端的传入的参数对地图元素数据进行处理,获 取最终符合条件的元素集合;e.将最终符合条件的元素集合中的地图元素数据绘制在地图上。
2.如权利要求1所述的一种实现地图数据快速加载的方法,其特征在于,步骤d中,所 述调用端的传入的参数包括:地图缩放级别、调用端当前地图的最大经纬度参数、最小经纬 度参数。
3.如权利要求2所述的一种实现地图数据快速加载的方法,其特征在于,步骤d具体包括:dl.地图数据获取服务接口根据调用端传入的最大经纬度参数、最小经纬度参数对地 图元素数据进行过滤,排除不在经纬度范围内的元素,获得元素集合Ml ;d2.根据元素集合Ml中元素的个数与缩放级别*权重H的大小关系判断是否对元素集 合Ml进行抽样处理,若需要进行抽样处理,则进入步骤d3,否则,将元素集合Ml作为最终符 合条件的元素集合;d3.对元素集合Ml进行抽样处理,将经过抽样处理后的元素集合作为最终符合条件的 元素集合。
4.如权利要求3所述的一种实现地图数据快速加载的方法,其特征在于,步骤d2具体 包括:d21.判断元素集合Ml中的元素的个数是否大于缩放级别*权重H,若是,则进入步骤 d3,否则进入步骤d22 ;d22.将元素集合Ml作为最终符合条件的元素集合。
5.如权利要求3所述的一种实现地图数据快速加载的方法,其特征在于,步骤d3中, 所述对元素集合Ml进行抽样处理的方式为:根据网格方式对元素集合Ml中的元素进行过 滤,保证经过抽样处理后的元素集合中剩余缩放级别*权重H个元素。
6.如权利要求5所述的一种实现地图数据快速加载的方法,其特征在于,所述根据网 格的方式对元素集合Ml的元素进行过滤具体包括:将每个网格内的元素个数与阈值Y进行比较,对于元素个数小于或等于阈值Y的网格 不作处理,仅对元素个数大于阈值Y的网格随机抽取一定数量的元素数据并丢弃。
【文档编号】G06F9/445GK103605533SQ201310526874
【公开日】2014年2月26日 申请日期:2013年10月30日 优先权日:2013年10月30日
【发明者】李柯 申请人:四川长虹电器股份有限公司