电子地图显示方法、装置和系统转让专利

申请号 : CN201710602611.7

文献号 : CN107391137B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑凯元华嘉炜刘晓蓉张弓

申请人 : 北京三快在线科技有限公司

摘要 :

本发明提供了电子地图显示方法、装置和系统,涉及电子地图领域。本发明提供的电子地图显示方法,采用预先设置聚合关系的方式,在获取到目标地点显示指令时,先调取聚合关系,由于该聚合关系是依据不同目标地点之间的距离大小生成的,因此聚合关系直观的反应了在需要将目标地点进行聚合时,应当将哪些目标地点聚合到一起进行显示,从而根据该聚合关系能够直接确定了目标地点的聚合方式,并最后按照确定出的聚合方式来进行目标地点的显示,提高了整体计算效率,提高了用户感受度。

权利要求 :

1.一种电子地图显示方法,其特征在于,包括:在获取到目标地点显示指令时,调取聚合关系;所述聚合关系是依据不同目标地点之间距离的大小生成的;

根据聚合关系,确定目标地点的聚合方式;

依据聚合方式,对目标地点进行展示;

步骤根据聚合关系,确定目标地点的聚合方式包括:依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式;所述聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式。

2.根据权利要求1所述的方法,其特征在于,还包括:获取用户的输入信息;

确定所述输入信息所对应的所述目标地点的坐标;

根据所述目标地点的坐标,确定不同目标地点之间的聚合关系。

3.根据权利要求1所述的方法,其特征在于,还包括:获取用户的输入信息;

确定所述输入信息所对应的所述目标地点的坐标;

根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。

4.根据权利要求1所述的方法,其特征在于,步骤依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式包括:依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;

若是,则将下一优先级作为当前优先级,并重新执行步骤判断当前优先级所对应的目标地点是否需要进行聚合;

若否,则根据所述当前优先级所对应的目标地点确定所述聚合方式。

5.根据权利要求4所述的方法,其特征在于,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则判断当前优先级所对应的目标地点是否需要进行聚合之前,还包括如下步骤:根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定所述当前优先级。

6.根据权利要求2所述的方法,其特征在于,步骤根据目标地点的坐标,确定不同目标地点之间的聚合关系包括:计算指定的地图显示比例下,任意两个或多个目标地点是否需要聚合;

依据所述计算的结果生成聚合关系。

7.根据权利要求2所述的方法,其特征在于,步骤根据目标地点的坐标,确定不同目标地点之间的聚合关系包括:计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,所述聚合优先值是依据所述至少两个目标地点之间的距离生成的;

将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,直至当前目标地点的数量达到预定数值,或直至目标聚合优先值的数值达到预定数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;所述目标聚合优先值是聚合优先值中数值最小/最大的;

根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。

8.根据权利要求7所述的方法,其特征在于,聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的情况确定的。

9.电子地图显示装置,其特征在于,包括:

调取模块,用于在获取到目标地点显示指令时,调取聚合关系;所述聚合关系是依据不同目标地点之间距离的大小生成的;

第一确定模块,用于根据聚合关系,确定目标地点的聚合方式;

展示模块,用于依据聚合方式,对目标地点进行展示;

第一确定模块,进一步用于依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式;所述聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式。

10.根据权利要求9所述的装置,其特征在于,还包括:第一获取模块,用于获取用户的输入信息;

第二确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;

第三确定模块,用于根据所述目标地点的坐标,确定不同目标地点之间的聚合关系。

11.根据权利要求9所述的装置,其特征在于,还包括:第二获取模块,用于获取用户的输入信息;

第五确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;

第六确定模块,用于根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。

12.根据权利要求9所述的装置,其特征在于,第一确定模块包括:判断单元,用于依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;所述聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式;

调整单元,若判断单元判断为是,则用于将下一优先级作为当前优先级,并驱动判断单元重新工作;

第二确定单元,若判断单元判断为否,则用于根据所述当前优先级所对应的目标地点确定所述聚合方式。

13.根据权利要求12所述的装置,其特征在于,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则该装置还包括如下模块:第四确定模块,用于根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定所述当前优先级。

14.根据权利要求10所述的装置,其特征在于,第三确定模块包括:第一计算单元,用于计算指定的地图显示比例下,任意两个或多个目标地点是否需要聚合;

生成单元,用于依据所述计算的结果生成聚合关系。

15.根据权利要求10所述的装置,其特征在于,第三确定模块包括:第二计算单元,用于计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,所述聚合优先值是依据所述至少两个目标地点之间的距离生成的;

聚合单元,用于将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,直至当前目标地点的数量达到预定数值,或直至目标聚合优先值的数值达到预定数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;所述目标聚合优先值是聚合优先值中数值最小/最大的;

更新单元,用于根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。

16.根据权利要求15所述的装置,其特征在于,聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的次数确定的。

17.一种电子地图显示方法,其特征在于,包括:在获取到目标地点显示指令时,调取聚合关系;所述聚合关系是依据不同目标地点之间距离的大小生成的;

根据聚合关系,确定目标地点的聚合方式;

依据聚合方式,对目标地点进行展示;

该方法还包括:

获取用户的输入信息;

确定所述输入信息所对应的所述目标地点的坐标;

根据所述目标地点的坐标,确定不同目标地点之间的聚合关系;

步骤根据目标地点的坐标,确定不同目标地点之间的聚合关系包括:计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,所述聚合优先值是依据所述至少两个目标地点之间的距离生成的;

将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,直至当前目标地点的数量达到预定数值,或直至目标聚合优先值的数值达到预定数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;所述目标聚合优先值是聚合优先值中数值最小/最大的;

根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。

18.根据权利要求17所述的方法,其特征在于,还包括:获取用户的输入信息;

确定所述输入信息所对应的所述目标地点的坐标;

根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。

19.根据权利要求17所述的方法,其特征在于,步骤根据聚合关系,确定目标地点的聚合方式包括:根据目标地点显示指令确定地图显示比例;

在聚合关系中查询与所述地图显示比例相对应的目标地点的聚合方式;所述聚合关系中记载了不同地图显示比例所对应的目标地点聚合方式。

20.根据权利要求17所述的方法,其特征在于,步骤根据聚合关系,确定目标地点的聚合方式包括:依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式;所述聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式。

21.根据权利要求20所述的方法,其特征在于,步骤依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式包括:依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;

若是,则将下一优先级作为当前优先级,并重新执行步骤判断当前优先级所对应的目标地点是否需要进行聚合;

若否,则根据所述当前优先级所对应的目标地点确定所述聚合方式。

22.根据权利要求21所述的方法,其特征在于,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则判断当前优先级所对应的目标地点是否需要进行聚合之前,还包括如下步骤:根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定所述当前优先级。

23.根据权利要求17所述的方法,其特征在于,聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的情况确定的。

24.电子地图显示装置,其特征在于,包括:调取模块,用于在获取到目标地点显示指令时,调取聚合关系;所述聚合关系是依据不同目标地点之间距离的大小生成的;

第一确定模块,用于根据聚合关系,确定目标地点的聚合方式;

展示模块,用于依据聚合方式,对目标地点进行展示;

该装置还包括:

第一获取模块,用于获取用户的输入信息;

第二确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;

第三确定模块,用于根据所述目标地点的坐标,确定不同目标地点之间的聚合关系;

第三确定模块包括:

第二计算单元,用于计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,所述聚合优先值是依据所述至少两个目标地点之间的距离生成的;

聚合单元,用于将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,直至当前目标地点的数量达到预定数值,或直至目标聚合优先值的数值达到预定数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;所述目标聚合优先值是聚合优先值中数值最小/最大的;

更新单元,用于根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。

25.根据权利要求24所述的装置,其特征在于,还包括:第二获取模块,用于获取用户的输入信息;

第五确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;

第六确定模块,用于根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。

26.根据权利要求24所述的装置,其特征在于,第一确定模块包括:确定单元,用于根据目标地点显示指令确定地图显示比例;

查询单元,用于在聚合关系中查询与所述地图显示比例相对应的目标地点的聚合方式;所述聚合关系中记载了不同地图显示比例所对应的目标地点聚合方式。

27.根据权利要求24所述的装置,其特征在于,第一确定模块包括:判断单元,用于依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;所述聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式;

调整单元,若判断单元判断为是,则用于将下一优先级作为当前优先级,并驱动判断单元重新工作;

第二确定单元,若判断单元判断为否,则用于根据所述当前优先级所对应的目标地点确定所述聚合方式。

28.根据权利要求27所述的装置,其特征在于,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则该装置还包括如下模块:第四确定模块,用于根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定所述当前优先级。

29.根据权利要求24所述的装置,其特征在于,聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的次数确定的。

30.电子地图显示系统,其特征在于,包括:服务器和智能终端;

所述服务器用于将所述聚合关系向智能终端发送;

所述智能终端用于按照如权利要求1、3-5、17-22任一项所述的方法执行相应的步骤。

31.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8,或17-23任一项所述方法的步骤。

说明书 :

电子地图显示方法、装置和系统

技术领域

[0001] 本发明涉及电子地图领域,具体而言,涉及电子地图显示方法、装置和系统。

背景技术

[0002] 近些年,随着电子图的兴起,出现了越来越多的围绕着电子地图技术的辅助应用,比如兴趣点查询,即用户可以在电子地图上查阅指定地域中的兴趣点(如餐厅、停车场等)。
[0003] 查询兴趣点时,用户首先需要向移动设备中输入相应的信息(如关键词),而后,移动设备依据该信息来确定用户所感兴趣的兴趣点,最后,移动设备将确定出的兴趣点以锚点的形式在显示屏上显示出来。如图1中所示,图中的圆形图标就是锚点。
[0004] 在进行锚点显示的时候,如果锚点在显示屏上分布过于密集,则会发生多个锚点相互遮挡的现象,这种现象会导致用户难以对不同的锚点进行辨识(如三个锚点在显示屏上的距离过近,由于遮挡的关系,则用户可能会认为此处只有一个锚点,或者说可能有两个锚点会被用户忽略掉)。
[0005] 针对该种某些锚点距离过于紧密情况,某些技术提供了一定的解决方案。如,移动终端在确定用户所感兴趣的兴趣点后,首先会先按照电子地图当前的比例尺,计算哪些锚点在显示屏上的距离过于紧密,并将这些距离过于紧密的锚点聚合到一起,通过一个锚点来代表这多个距离过近的锚点,以此来避免用户的查看不方便的问题。如图1中所示,圆形图标中的数字即显示了该锚点是由多少个原始锚点(没有聚合过其他锚点的锚点)聚合形成。
[0006] 通常,用户除了需要在显示屏上观看到各个锚点,还会对显示屏进行放大和缩小操作(电子地图的比例尺发生了调整),以期看到更多的信息,执行放大和缩小操作之后,各个锚点在显示屏上的距离就会发生调整,此时,移动终端需要重新计算哪些锚点过于紧密,并将在显示屏上的距离过于紧密的多个锚点通过一个锚点进行显示。

发明内容

[0007] 本发明的目的在于提供电子地图显示方法、装置和系统,以提高系统显示电子地图的效率。
[0008] 第一方面,本发明实施例提供了电子地图显示方法,包括:
[0009] 在获取到目标地点显示指令时,调取聚合关系;聚合关系是依据不同目标地点之间距离的大小生成的;
[0010] 根据聚合关系,确定目标地点的聚合方式;
[0011] 依据聚合方式,对目标地点进行展示。
[0012] 第二方面,本发明实施例还提供了电子地图显示装置,包括:
[0013] 调取模块,用于在获取到目标地点显示指令时,调取聚合关系;聚合关系是依据不同目标地点之间距离的大小生成的;
[0014] 第一确定模块,用于根据聚合关系,确定目标地点的聚合方式;
[0015] 展示模块,用于依据聚合方式,对目标地点进行展示。
[0016] 第三方面,本发明实施例还提供了电子地图显示系统,包括:
[0017] 服务器和智能终端;
[0018] 服务器用于将聚合关系向智能终端发送;
[0019] 智能终端用于按照如第一方面的方法执行相应的步骤。
[0020] 本发明实施例提供的电子地图显示方法,采用预先设置聚合关系的方式,在获取到目标地点显示指令时,先调取聚合关系,由于该聚合关系是依据不同目标地点之间的距离大小生成的,因此聚合关系直观的反应了在需要将目标地点进行聚合时,应当将哪些目标地点聚合到一起进行显示,从而根据该聚合关系能够直接确定了目标地点的聚合方式,并最后按照确定出的聚合方式来进行目标地点的显示,提高了整体计算效率,提高了用户感受度。
[0021] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0022] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0023] 图1示出了相关技术中,在显示屏上显示锚点的示意图;
[0024] 图2示出了本发明实施例所提供的电子地图显示方法的基本流程图;
[0025] 图3示出了本发明实施例所提供的电子地图显示方法的中不同的目标地点分布示意图;
[0026] 图4示出了本发明实施例所提供的电子地图显示方法的构建的第一种聚合关系树状图;
[0027] 图5示出了本发明实施例所提供的电子地图显示方法的构建的第二种聚合关系树状图;
[0028] 图6示出了本发明实施例所提供的电子地图显示方法的第一个细节流程图;
[0029] 图7示出了本发明实施例所提供的电子地图显示方法的第二个细节流程图;
[0030] 图8示出了本发明实施例所提供的电子地图显示方法的第三个细节流程图。

具体实施方式

[0031] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 相关技术中,已经出现了各种电子地图的辅助技术,其中,兴趣点查询是较为常用的一种。相关技术中的兴趣点查询技术通常按照如下步骤实现:
[0033] 步骤1,用户向移动终端输入查询信息(即关键词,关键词如中餐厅、西餐厅、快捷酒店等);
[0034] 步骤2,移动终端依据关键词向服务器发送请求,以使服务器返回符合这些关键词的地点的相关信息(如名称、坐标、简介等);
[0035] 步骤3,移动终端依据这些地点的坐标和当前电子地图的比例尺,计算出在显示时会重合的多个(至少两个)第一目标地点;
[0036] 步骤4,移动终端将第一目标地点聚合成一个锚点进行显示,以及将第一目标地点以外的地点使用独立的锚点进行显示;
[0037] 步骤5,当移动终端接收到用户的缩放指令(放大或缩小指令)时,依据缩放指令重新调整比例尺;
[0038] 步骤6,移动终端依据地点的坐标和调整后的比例尺,计算出在显示时会重合的多个(至少两个)第二目标地点;
[0039] 步骤7,移动终端将多个第二目标地点聚合成一个锚点进行显示,以及将第二目标地点以外的地点使用独立的锚点进行显示。
[0040] 通过上述步骤可以看出,不论移动终端处于何种状态时,只要需要进行锚点显示的时候,都会重新计算一次需要聚合的到一起进行显示的地点。可见,使用相关技术中的方案,如果用户向移动终端下达缩放指令,则移动终端需要一定的响应时间才能够在电子地图上进行锚点显示,尤其是当移动终端的当前负载较高的时候,电子地图的锚点显示会出现卡顿的情况,这严重的影响了用户体验。
[0041] 针对该种情况,本申请提供了一种改进的电子地图显示方法,如图2所示,该方法包括如下流程:
[0042] 步骤S101,获取用户的输入信息;
[0043] 步骤S102,确定输入信息所对应的目标地点的坐标;
[0044] 步骤S103,根据目标地点的坐标,确定不同目标地点之间的聚合关系;聚合关系是依据不同目标地点之间距离的大小生成的。
[0045] 步骤S104,在获取到目标地点显示指令时,调取聚合关系;聚合关系是依据不同目标地点之间距离的大小生成的;
[0046] 步骤S105,根据聚合关系,确定目标地点的聚合方式;
[0047] 步骤S106,依据聚合方式,对目标地点进行展示。
[0048] 其中,步骤S101和步骤S102与相关技术中的方案基本相同,均是在获取了用户(可以指的是智能设备的操作者本身,也可以是指某一个智能终端)的输入信息(即关键词)之后,来查找该输入信息所对应的地点(目标地点),并获得目标地点相对应的信息,实际上,通常,目标地点所对应的信息有多种,比如地点的名称、坐标、介绍等,坐标只是目标地点所对应的信息中的一种,但本方案中只需要使用到坐标,因此,本文中不再对其他信息进行过多介绍。上述步骤中,步骤S101-步骤S103反应的是首次建立聚合关系的过程,步骤S104-S106反应的是直接利用聚合关系进行展示的步骤。
[0049] 本申请所提供的方案的核心在于:利用预先确定的不同目标地点之间的聚合关系。即,在获取到目标地点显示指令(如查看兴趣点指令,放大缩小指令)后,利用该聚合关系,直接计算指定的目标地点是否需要聚合(即步骤S105中的聚合方式可以是指定的至少两个目标地点聚合,或者是指定的至少两个目标地点不聚合),而不是如相关技术中每次接收到目标地点显示指令后,都需要重新遍历式的计算任意两个或多个目标地点之间是否需要聚合。由于两个目标地点聚合和多个目标地点聚合有着很大的相似性,因此后文中,将主要以两个目标地点进行聚合为例进行说明,但应当知晓的是,本申请的保护范围仍然涵盖了多个目标地点聚合的情况。需要说明的是,本申请中所提及的聚合关系,并不是在其生成后,只用一次后就删除的,而是生成之后,存储在相应的设备中(如移动终端或其他智能设备中),在需要的时候(获取到目标地点显示指令时)被调取出来,被调取的次数可以是多次,或者说聚合关系被使用的次数可以是多次的。作为某一种存在形式,聚合关系可以是以列表的形式存储在智能设备中,也可以是以图形的形式存储在智能设备中,具体的存储方式可以依据情况而定。
[0050] 两个目标地点是否需要聚合,可以依据这两个目标地点所对应的锚点是否会重合或者遮挡来判断,如果会遮挡,则需要聚合;反之,如果不会遮挡,则不需要聚合。当然,是否需要聚合还可以依据用户的实际设置来选择,比如两个锚点之间的距离是否过近(不一定遮挡或重合)。
[0051] 下面,首先对聚合关系的本身进行说明。本申请所提供的方案中,聚合关系反应了在需要进行聚合的时候,所有目标地点中哪些可能需要聚合在一起;或者说聚合关系中至少记载了,在需要进行聚合时,由于距离较近,首先需要聚合在一起的两个或多个目标地点。比如,共有三个目标地点,分别为目标地点A、目标地点B和目标地点C,其中,目标地点A和目标地点B互为距离最近的目标地点,则,如果需要进行聚合的话,首先应当判断目标地点A和目标地点B是否需要进行聚合,若是,则应当将目标地点A和B聚合到一起进行展示;若否,则说明目标地点A、B和C均不需要进行聚合(距离最近的目标地点A和B都不需要聚合的话,则当然不用考虑目标地点C是否需要参与聚合)。
[0052] 也就是,聚合关系中记录了如果需要进行聚合时,首先/最需要进行聚合的两个或多个目标地点,进而,系统在接收到用户所下达的目标地点显示指令后,直接判断这首先应当进行聚合的两个或多个目标地点之间是否需要进行聚合,如果这两个或多个目标地点都不需要进行聚合的话,则根本不需要考虑其他的目标地点是否需要进行聚合。此处的目标地点显示指令可以是任意一种可以使终端在显示屏上显示锚点的指令,比如兴趣点查找显示指令(具体如用户首次打开电子地图后,向智能设备输入的表示希望在智能设备的显示屏上查看兴趣点的指令);在显示屏上已经显示了锚点后,用户还可以下达地图放大指令(将地图放大,看到锚点更具体的位置)和地图缩小指令(看到更大范围内的锚点)。
[0053] 其次,对聚合关系的生成过程进行简要说明(主要针对步骤S103)。聚合关系的生成过程主要是计算不同地点之间距离,并依据距离最近的两个或多个地点生成聚合关系。如图3所示,提供了包含有4个目标地点的电子地图的示意图。经过计算,得到如下结果:A点和B点之间的距离为10,A点和C点之间的距离为55,A点和D点之间的距离为80,B点和C点之间的距离为50,B点和D点之间的距离为80,C点和D点之间的距离为60。可见,如果需要将两个点进行聚合的话,则首先应当考虑AB之间是否应当聚合,因此,聚合关系中应当记载AB优先聚合(当然,在此基础上还可以增加其他内容,比如ABC次先聚合,或者是可以记载ABC优先聚合)。也就是聚合关系中记载了最需要聚合的两点或多个点。但为了确定哪两个或多个点应当聚合,也需要采用遍历或者类似遍历式的计算才能够确定。
[0054] 再次,对聚合关系的使用过程进行说明(主要针对步骤S105)。在确定了聚合关系之后,如果接收到了用户所发出的目标地点显示指令(如屏幕放大/缩小等指令)的话,不再需要重新计算每一个锚点之间的距离,并判断不同的锚点之间是否会重合,而是只计算聚合关系所对应/标识的两个或多个目标地点是否需要聚合,如果需要,则将这两个或多个相关联(被聚合关系所关联)的目标地点聚合到一起;如果不需要,则说明其他目标地点也不会发生重合的情况,则将每个目标地点均通过单独的锚点进行展示即可。
[0055] 承接前文中的说明,如图3所示,提供了包含有4个目标地点的电子地图的示意图。图中,A点和B点之间的距离为10,A点和C点之间的距离为55,A点和D点之间的距离为80,B点和C点之间的距离为50,B点和D点之间的距离为80,C点和D点之间的距离为60。可见,如果需要进行聚合的时候,首先应当考虑距离最近的A点和B点之间是否需要聚合,如果A点和B点需要聚合的话,则需要再考虑AB聚合后的点是否应当与C点或D点进行聚合;如果A点和B点不需要聚合的话,则根本不需要考虑其他点是否需要聚合。如果采用相关技术中的方案的话,则需要遍历式的分别考虑AB点、AC点、AD点、BC点、BD点、CD点之间是否需要聚合。进而,本申请所提供的方案中,聚合关系相当于指明了不同目标地点之间的聚合次序(先后关系),按照该种次序进行是否需要聚合的判断,则必然可以大大的降低计算量,提高整体效果。
[0056] 由此可见,本申请所提供的方案中,在确定了聚合关系后,不论后续过程中,用户下达了何种的目标地点显示指令(屏幕放大/缩小指令),系统都可以通过直接调用聚合关系的方式,来快速的确定聚合关系所对应的首先应当聚合的两个或多个目标地点之间是否需要聚合。相较于相关技术中,在用户执行放大和缩小操作后,系统每次均需要遍历式的计算任意两个目标地点之间的距离,并且结合当前电子地图的比例尺来计算任意两个目标地点之间是否需要聚合相比,计算量大大减小,使得系统能够更快的响应用户的请求,提高了用户的感受度。
[0057] 作为某一种实现方式,步骤S101-步骤S106可以由用户所操作的移动终端(智能设备的一种)来完成;某一种情况下,为了降低移动终端的负担,步骤S101-步骤S103可以由第三方设备(如服务器)完成,而后,第三方设备将聚合关系发送给移动终端,以使移动终端可以直接利用该聚合方式,进而降低了移动终端的负载。某一种情况下,移动终端可以在获取到用户的输入信息后,利用输入信息从服务器处获取聚合关系,此时,步骤S101-S103可以被如下步骤所替代:
[0058] 步骤101’,获取用户的输入信息;
[0059] 步骤102’,确定所述输入信息所对应的所述目标地点的坐标;
[0060] 步骤103’,根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。
[0061] 也就是,和步骤S103相比,步骤103’在执行时,不再是由移动终端完成聚合关系的构建,而是利用了目标地点的坐标,从服务器处取得了与该目标地点相对应的聚合关系。
[0062] 可见,相较于相关技术中的方案,本申请上述的方案的主要优势在于只需要预先进行一次遍历性的计算,后续过程中,如果用户再次需要在显示屏上查看目标地点的话(如放大或缩小地图后查看目标地点),则不再需要进行这种遍历式的计算,而是直接调取聚合关系中所对应的两个或多个地点即可,大大降低了计算量。
[0063] 如前文中的说明,聚合关系中记载了由于距离较近,而在需要进行聚合时,首先需要聚合在一起的两个或多个目标地点。实际操作中,由于地图的比例尺会发生较大的调节(受用户放大或缩小操作的影响),因此,具体的,为了更准确、更快速的确定不同目标地点之间的聚合关系,可以在聚合关系中引入以下两个参量中的任一个:地图显示比例(受地图的比例尺大小影响)和聚合优先级。
[0064] 首先对引入地图显示比例的情况进行说明。地图显示比例描述了地图缩放的程度,比如地图可能处在500:1的显示比例,也可能处在1000:1的显示比例,可以预想的是,地图的显示比例越高,就可能会有更多的目标地点聚合到一起(比如在1000:1的显示比例的情况下,地图上的ABC三个点是聚合到一起通过一个锚点进行展示的,在500:1的显示比例的情况下,地图上的AB两个点是聚合在一起通过一个锚点进行展示的,而C点是独立使用一个锚点进行展示的)。进而,在引入了地图显示比例后,聚合关系中可以记载如下内容:在400:1-500:1的地图显示比例下,AB两个点聚合到一起;在501:1-1000:1的地图显示比例下,ABC三个点聚合到一起。进而,当系统确定当前的地图显示比例后,可以直接将对应的几个点聚合到一起,不需要进行多余的计算。
[0065] 比如,系统中可以预先存储如下表1式的表格:
[0066] 表1
[0067]编号 显示比例 聚合到一起的地点
1 100:1-199:1 AB
2 200:1-299:1 ABC
3 300:1-399:1 ABCD
4 400:1-499:1 ABCDG
5 500:1-599:1 ABCDGK
[0068] 通过该表格可以直观的了解当地图的地图显示比例达到某一种程度的情况下,哪些目标地点应当聚合到一起进行显示。也就是,本申请所提供的方案中,步骤S105可以按照如下方式执行,如图6所示:
[0069] 步骤S201,根据目标地点显示指令确定地图显示比例;
[0070] 步骤S202,在聚合关系中查询与地图显示比例相对应的目标地点聚合方式;聚合关系中记载了不同地图显示比例所对应的目标地点聚合方式。
[0071] 进而,通过上述步骤S201和步骤S202的执行,能够使系统在确定了当前地图显示比例(类似于地图的比例尺)之后,能够快速的确定当前地图中,有哪些目标地点应当聚合到一起进行显示。这样大大降低了计算量。
[0072] 步骤S201中,如果目标地点显示指令是放大和缩小指令,则可以依据显示屏上当前显示的地图的比例尺来确定地图显示比例。
[0073] 其次,对引入聚合优先级的情况进行说明。引入聚合优先级同样可以降低计算量,具体的,聚合优先级描述了不同目标地点之间聚合的先后关系,如图3所示,按照前文中关于A-D这四个点的距离描述,可知,如果地图逐渐缩小(如比例尺由500:1逐渐变为1000:1)进行聚合的话,则AB两点会首先聚合,之后,ABC三点会聚合,最后,ABCD四点会聚合,也就是按照聚合优先级来看的,第一优先级的应当是AB,第二优先级的应当是ABC,第三优先级的是ABCD。也就是,同样是多点进行聚合,由于不同目标地点之间的距离不同,也是在进行聚合时,不同的目标地点之间也是有聚合关系的。那么在执行步骤S105时,可以按照聚合的优先级高低来确定聚合的先后顺序,进而,依据按照该先后顺序来判断不同的地点之间是否需要聚合,如果高优先级的地点(如第一优先级的AB两点)不需要聚合的话,则低优先级(如第二优先级的ABC三个点)也就不需要再计算了;当然,除了上述这种按照优先级由高至低的顺序进行计算,还可以按照优先级由低至高的顺序进行计算,比如高优先级的地点(如第三优先级的ABCD两点)需要聚合的话,则低优先级(如第二优先级的ABC三个点、第一优先级的AB两个点)也就不需要再计算了,因为低优先级的是必然需要聚合的。为了简化说明,下文中将主要以优先级按照由高至低的顺序进行计算的过程进行说明。
[0074] 进而,按照此种优先级先后顺序的方式进行计算,可以进一步提高计算效率。
[0075] 实际上,聚合优先级主要是引入了层级的关系,也就是当地图上的目标地点需要进行聚合的时候,首先聚合的哪些目标地点,其次应当聚合的是哪些地点,再次聚合的应当是哪些地点。进而,在执行步骤S105的时候,可以先判断首先应当聚合起来的目标地点是否需要聚合,如果首先应当聚合起来的目标地点需要聚合,则判断其次应当聚合起来的目标地点是否需要聚合;如果首先应当聚合起来的目标地点不需要聚合,则不需要进行后续的判断了。
[0076] 前文中介绍了在引入聚合优先级的情况下,可以按照优先级由高至低的顺序依次判断目标地点是否需要聚合的方式。在某一种实现方式下,也可以按照优先级由低至高的顺序来依次判断所对应的目标地点是否需要聚合(也就是先判断最后需要聚合的两个目标地点是否需要聚合),此时,一般需要在生成聚合关系时,一并生成聚合后的目标地点的坐标。相比之下,按照优先级由高至低的顺序依次判断目标地点是否需要聚合的方式更为合理。
[0077] 如图4所示,提供了用来描述聚合优先级的一种示例图,即聚合关系树状图。图中,ABCD均为目标地点,E为AB聚合所形成的锚点,F为ABC聚合所形成的锚点,G为ABCD聚合所形成的锚点。在建立该种聚合关系树状图之后,很明显的能够看出如果需要进行锚点聚合的话,AB两点首先应当进行聚合,其次是ABC三个点应当进行聚合,最后是ABCD三个点需要进行聚合。需要说明的是,聚合优先级的确定方式,也仍然是看不同地点之间的距离大小而定,在图4中所示的聚合关系树状图中,AB之间的距离应当是任意两点间(ABCD四个点中)的距离最近的,CE两点之间的距离要小于CD两点之间的距离,进而CE两点聚合形成了F点。所以也就形成了聚合的先后关系。
[0078] 更直观的,比如可以在系统中预存如下表2式的表格:
[0079] 表2
[0080]编号 聚合优先级 聚合到一起的地点
1 第一级 AB
2 第二级 ABC
3 第三级 ABCD
[0081] 通过该表格可以直观的看出,当需要进行聚合的时候,首先应当聚合到一起的地点是AB,其次是ABC,最后是ABCD。也就是聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式。
[0082] 进而,系统在执行步骤S105时,可以按照如下方式执行:
[0083] 依据聚合关系中目标地点聚合的优先级次序,计算目标地点的聚合方式。
[0084] 或者,该步骤可以按照如下步骤执行,如图7所示:
[0085] S301,依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;若是,则执行步骤S302,若否,则执行步骤S303;
[0086] S302,将下一优先级作为当前优先级,并重新执行步骤S301
[0087] S303,停止计算,并根据当前优先级所对应的目标地点确定聚合方式。
[0088] 按照上述S301-S303步骤的执行,系统通常首先会计算优先级最高(如表2中的第一级)的至少两个目标地点是否需要聚合,如果需要聚合,则再计算优先级低一级(如表2中的第二级)的至少两个目标地点是否需要聚合,直至计算到指定优先级时为止(不再计算后续优先级所对应的目标地点是否需要进行聚合),并依据级别高于指定优先级的优先级确定聚合方式,即步骤S106中,将级别高于指定优先级的优先级所对应的至少两个目标地点按照预设的方式进行聚合,该指定优先级所对应的至少两个目标地点不需要聚合。
[0089] 如上述表2中所示的数据,在具体实现时,系统在获取到目标地点显示指令后,对应的执行步骤S105,执行时,首先应当判断第一级中的AB两点是否应当聚合,经过计算发现AB两点应当聚合,此时,则计算下一优先级(优先级的级别低于第一级的第二级)所对应的ABC三个点是否应当聚合,经过计算发现ABC三点不应当聚合,此时,则不再计算下一优先级(第三级)所对应的ABCD四个点是否应当聚合。进而,确定出的聚合方式是ABC三个点应当进行聚合。
[0090] 如前文中的说明,目标地点显示指令大致可以分为三种,第一种是用户首次下达查看兴趣点的指令,第二种是在显示屏上已经显示了锚点后,用户对显示屏下达屏幕放大指令,第三种是在显示屏上已经显示了锚点后,用户对显示屏下达屏幕缩小指令。对于上述第二、三种情况而言,执行时可以不从优先级最高的两个目标地点开始判断(如表2中的第一级),而是直接从当前优先级开始判断。
[0091] 进而,本申请所提供的方案中,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则步骤S301之前,还包括如下步骤:
[0092] 根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定当前优先级。
[0093] 比如,如表2所示,当前显示屏上AB两点已经聚合到一起显示了,而ABC三点没有聚合到一起显示,此时,如果接收到了屏幕缩小指令,则没有必要从优先级最高的第一级开始计算(即计算AB是否需要聚合,因为进一步缩小的话,AB两个点必然是要聚合到一起的),而是,应当直接计算优先级第二高的第二级开计算(即计算ABC是否需要聚合),之后,如果ABC需要聚合,再计算ABCD是否需要聚合。
[0094] 反之,如表2所示,当前显示屏上ABC三点已经聚合到一起显示了,而ABCD四点没有聚合到一起显示,此时,如果接收到了屏幕放大指令,则没有必要从优先级最低的第三级开始计算(即计算ABCD是否需要聚合,因为进一步放大的话,ABCD四个点必然是要分开的),而是,应当直接计算优先级第二高的第二级开计算(即计算ABC是否需要聚合),之后,如果ABC不需要聚合,再计算AB是否需要聚合。其中,该步骤中的当前优先级可以是指首次执行步骤S301时的当前优先级。
[0095] 需要说明的是,判断至少两个目标地点是否需要聚合与判断至少两个目标地点是否需要被拆分开的含义是相同的,也就是,步骤S301中,判断当前优先级所对应的目标地点是否需要进行聚合,其含义涵盖了判断当前优先级所对应的目标地点是否需要被拆分。
[0096] 进而,采用此种当前优先级的确认方式,可以避免从最高的优先级开始计算,而是结合了当前屏幕上显示的情况,从某一个适当的优先级开始计算,进而简化了计算的步骤。
[0097] 下面,将针对上述两种优化方式所对应的建立聚合关系的过程分别进行说明。
[0098] 采用引入地图显示比例的优化方案时,系统可以按照如下方式确定目标地点的聚合方式,即步骤根据目标地点的坐标,确定不同目标地点之间的聚合关系包括:
[0099] 步骤11,计算指定的地图显示比例下,任意两个或多个目标地点是否需要聚合;
[0100] 步骤12,依据计算的结果生成聚合关系。
[0101] 其中,指定的地图显示比例指的是需要计算的地图显示比例,如100:1的地图显示比例,200:1的地图显示比例。实际操作中,可以由用户设置需要参与计算的地图显示比例。需要说明的是,为了达到需求的精度,大小相邻的两个地图显示比例的差值应当足够小,比如参与计算的地图显示比例可以是缩小100倍(即100:1)、110倍、120倍等大小相邻的两个倍数之间相差为10的情况。参与计算的地图显示比例也可以是缩小100倍(即100:1)、101倍、102倍等大小相邻的两个倍数之间相差为1的情况。很明显,后一种情况下,计算得到的精度更高。
[0102] 进而,通过步骤11的计算,能够确定在不同的显示比例下,不同的目标地点是否需要聚合,也就可以在步骤12中依据这些计算的结果来进行记录,比如聚合关系中可以记录:地图显示比例为142:1以下时,AB两点聚合成一个锚点;地图显示比例为142:1-179:1之间时,ABC三点聚合成一个锚点;地图显示比例为179:1-246:1之间时,ABCD四点聚合成一个锚点,且EF两点聚合成一个锚点。
[0103] 采用引入聚合优先级的优化方案时,系统可以按照如下方式确定目标地点的聚合方式,即,如图8所示,步骤根据目标地点的坐标,确定不同目标地点之间的聚合关系包括:
[0104] 步骤S401,计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,聚合优先值是依据至少两个目标地点之间的距离生成的;
[0105] 步骤S402,将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤401,直至当前目标地点的数量达到预定数值;目标聚合优先值是聚合优先值中数值最小/最大的;
[0106] 步骤S403,根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。
[0107] 即,首先需要计算的是当前目标地点(经过聚合的目标地点仅以聚合后的形式出现)中,任意或多个两个目标地点之间的距离(计算的方式可以直接依据坐标进行确定),进而依据距离确定聚合优先值,某一种情况下,可以直接将计算得到的距离作为聚合优先值。其次,确定出聚合优先值中的数值最小/最大的。聚合优先值描述了任意两个或多个目标地点之间聚合的先后关系。
[0108] 因此,如果需要进行聚合的话,则这两个距离最近的目标地点(目标聚合优先值所对应的目标地点)是首先需要聚合的。进而,依据目标聚合优先值所对应的至少两个目标地点更新聚合关系(更新的含义有两种,如果没有建立过聚合关系,则更新指的是新建聚合关系;如果已经建立了聚合关系,则更新指的是对已经建立的聚合关系进行补充)。同时,还需要将这至少两个目标地点(即步骤S403中用来更新聚合关系的至少两个目标地点)聚合成一个目标地点,并再次执行步骤S401,如果当前目标地点的数量已经达到了预定的数值(如2个),则没有必要继续进行聚合了(如果只剩余2个点的话,则下一次只能是这两个点进行聚合,已经没有必要计算了),此时则应当终止流程。其中,聚合形成的目标地点需要确定其坐标,具体的坐标确定方式有多种,比如可以将进行聚合的两个目标地点的连线的中点作为聚合形成的目标地点的坐标,如果是三个目标地点聚合,则可以是将三个目标地点所组成的三角形的重心作为聚合形成的目标地点的坐标。
[0109] 作为某一种实现方式,步骤S402可以按照如下方式执行:
[0110] 判断当前目标地点的数量是否达到预定数值;
[0111] 若是,则终止当前流程;
[0112] 若否,则将距离最近的至少两个目标地点聚合成一个目标地点,并重新执行步骤S401。
[0113] 作为某一种实现方式,步骤S402可以被如下执行步骤所替换:
[0114] 将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤S401,直至目标聚合优先值的数值达到预定的数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;目标聚合优先值是聚合优先值中数值最小/最大的。
[0115] 通过改变停止条件,能够使得方案在实际操作时有更多的选择性。设定目标聚合优先值所对应的至少两个目标地点之间的距离达到预定的数值的停止条件,可以在如下的场景中使用:预先知晓了当前地图的最大显示比例(如10000:1)如果4个目标地点之间的距离过近(如20000:1的时候才会处于不聚合的状态),则这4个目标地点在当前地图上进行显示的时候,必然是处于聚合状态的,则根本没有必要计算这4个点之间聚合的先后关系。也就是,本申请所提供的方案,在上述内容的基础上,还包括:获取当前地图显示比例的极限值,根据当前地图显示比例的极限值,确定预定距离。
[0116] 需要说明的是,步骤S403和步骤S402之间并非是先后关系,而是并列关系,即,步骤S401的输出结果会触发步骤S403的执行,来对聚合关系进行更新,同时也会触发步骤S402的执行,来判断是否需要继续迭代下去。
[0117] 在具体操作时,如果同一个锚点表征(聚合)了过多的目标地点,则会很大程度上影响用户的观看情况,因此,应当尽量降低聚合形成的目标地点再次聚合的概率。为了达到该种目的,本方案中引入了权值修改的策略。
[0118] 具体的,可以按照如下的方式实现,即本申请所提供的方案还包括:
[0119] 聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的情况确定的。
[0120] 也就是,聚合优先值由两部分构成,一部分是至少两个目标地点之间的距离,另一个是这些目标地点之前进行过聚合的聚合情况。其中,聚合情况大致可以分为两类,第一类是目标地点进行过聚合的聚合次数,第二类是目标地点的权值。
[0121] 下面,先对第一类,聚合次数的使用方式进行说明。通过这种设置聚合次数方式,如果是两个均没有进行过聚合的目标地点聚合形成一个目标地点的话,则不需要考虑聚合次数,只需要考虑二者之间的距离;反之,如果进行聚合的两目标地点中某一个是进行过聚合的话,则聚合优先值的数值不只需要考虑二者之间的距离,还要考虑目标地点的聚合次数,目标地点的聚合次数越多,则对聚合优先值影响越大。
[0122] 即聚合优先值可以按照如下方式计算聚合优先值:X=AY+BZ,其中,X是聚合优先值,A和B均为常量,是加权计算的系数,Y为至少两个目标点之间的距离,Z为某个目标地点进行过聚合的聚合次数。其中,A与B的符号相同时(如均为正数或均为负数),引入聚合次数可以降低已经进行过聚合的目标地点再次被聚合的概率,反之,A与B的符号不相同时(如A和B中一个为正数,另一个为负数),引入聚合次数可以提高已经进行过聚合的目标地点再次被聚合的概率。通常情况下,用户期望地图上的目标地点显示的更为均匀,此时,A和B的符号是不相同的,即目标地点之间的距离与聚合优先值呈正相关性,且,目标地点进行过聚合的次数与聚合优先值呈负相关性;或,目标地点之间的距离与聚合优先值呈负相关性,且,目标地点进行过聚合的次数与聚合优先值呈正相关性。当用户期望地图上的目标地点显示的很集中时,目标地点之间的距离与聚合优先值呈正相关性,且,目标地点进行过聚合的次数与聚合优先值呈正相关性;或,目标地点之间的距离与聚合优先值呈负相关性,且,目标地点进行过聚合的次数与聚合优先值呈负相关性。
[0123] 其次,对于第二类,可以按照如下方式计算聚合优先值:
[0124] X=CY+DW,其中,C、D均为常量是加权计算的系数,Y为至少两个目标点之间的距离;W是被聚合的目标地点的权值之和,被聚合的目标地点的权值是根据聚合形成目标地点的至少两个目标地点之间的距离和聚合形成该被聚合的目标地点的至少两个目标地点的权值确定的。也就是,每个目标地点都是具有权值的,且每个目标地点的权值都是依据聚合形成该目标地点的多个目标地点的距离和聚合形成该目标地点的至少两个目标地点的权值确定的。可见,如果是没有进行过聚合的目标地点的权值必然是0,目标地点聚合过的次数越多,则权值越大。
[0125] 如图4所示,可以按照如下方式,计算每个目标地点(A-F)的权值,由于A-D这四个点均是没有进行过聚合的点,因此,权值均为0,E的权值是根据A、B的权值,以及AB之间的距离确定的,由于A和B的权值均为0,因此,E的权值可以是A与B之间的距离,如10。F的权值为根据E、C的权值,以及EC之间的距离确定的,C的权值为0,E的权值为10,因此F的权值为EC之间的距离16与E的权值10之和,即F的权值为26。
[0126] 可见,在使用了目标地点的权值后,聚合次数越多的目标地点的权值越大,借此,可以提高或降低多次聚合的目标地点再次被聚合的概率。
[0127] 更优选的,可以在计算目标地点之间的聚合优先值时,同时使用权值和聚合次数,进而,可以按照如下公式计算聚合优先值,X=AY+BZ+CY+DW;其中,X是聚合优先值,A和B均为常量,是加权计算的系数,Y为至少两个目标点之间的距离,Z为某个目标地点进行过聚合的聚合次数;C、D均为常量是加权计算的系数;W是被聚合的目标地点的权值之和,被聚合的目标地点的权值是根据聚合形成目标地点的至少两个目标地点之间的距离和聚合形成该被聚合的目标地点的至少两个目标地点的权值确定的。上述ABCD四个数值可以依据具体情况进行调整。
[0128] 下面,以一个实际的例子来说明上述步骤S401-S403的执行过程。如图5所示,初始状态下(未建立聚合关系时),共有目标地点ABCD四个目标地点。
[0129] 步骤21,计算任意两个目标地点之间的距离,即计算AB之间的距离值、AC之间的距离值、AD之间的距离值、BC之间的距离值、BD之间的距离值和CD之间的距离值;
[0130] 步骤22,计算任意至少两个目标地点之间的聚合优先值(此时,所有目标地点均是未经过聚合的,因此,聚合优先值可以等同为距离值);
[0131] 步骤23,选择聚合优先值最小的AB两点更新聚合关系;
[0132] 步骤24,判断当前目标地点数量大于3,执行步骤25;
[0133] 步骤25,将AB两点聚合成E点,并计算E点的坐标为AB两点的中点;
[0134] 步骤26,计算ECD三点之间任意两个点之间的距离(经过计算EC之间的距离为5,CD之间的距离为6,ED之间的距离为10);
[0135] 步骤27,计算ECD三点之间任意两个点之间的聚合优先值(经过计算,EC之间的聚合优先值为5+2=7,CD之间的聚合优先值为6,ED之间的聚合优先值为10,EC之间的聚合优先值是由距离5和聚合次数所对应的数值2生成的);
[0136] 步骤28,选择聚合优先值最小的CD两点更新聚合关系;
[0137] 步骤29,判断当前目标地点数量等于3,执行步骤30;
[0138] 步骤30,输出聚合关系,并终止流程。
[0139] 上述步骤27中,EC之间的聚合优先值为7,是由距离5和聚合次数对应的数值2生成的,即,此时的聚合次数是1次,对应的数值是2,如果聚合次数是2次(即EC这两个点中某一个是经过两次聚合得到的,另一个是没有经过聚合的;或者是这两个点均是经过一次聚合得到的),则聚合次数对应的数值应当是4,类似的,当聚合次数再次增加后,聚合次数所对应的数值也应当变大。
[0140] 上述提供的两种优化方式(地图显示比例优化方式和聚合优先级优化方式)相比。从利用聚合关系的过程看(步骤S104-步骤S106),采用引入地图显示比例的优化方案时,系统的计算量小一些,结合目前芯片的计算能力来看,采用引入地图显示比例的优化方案和采用引入聚合优先级的优化方案在计算总时间上是差别不大的(差别一般不会影响到用户体验)。
[0141] 从建立聚合关系的过程看,地图显示比例的优化方式通常系统需要提前投入大量的计算,这可能会给系统带来一定的负担。比如,系统在确定了目标地点之后,需要模拟在不同的显示比例下,是否会有目标地点聚合到一起,由于显示比例的可行性数值有很多(比如100:1-1000:1之间的可行性整数就有900个,如果数值范围更大,则可行性整数会更多),而系统正式需要不断的实验在不同的可行性数值的显示比例下,有哪些点会聚合到一起。可见采用引入地图显示比例的优化方案,可能系统在建立聚合关系时的负担可能会过重。
[0142] 而采用聚合优先级的优化方案,则系统仅仅需要依据不同地点之间的距离来计算哪些地点的聚合更近,并将距离近的地点的优先级设置的更高即可,可见,从建立聚合关系和利用聚合关系的整体角度来看,引入聚合优先级的优化方案更佳。
[0143] 与上述方法相对应的,本申请还提供了电子地图显示装置,包括:
[0144] 调取模块,用于在获取到目标地点显示指令时,调取聚合关系;聚合关系是依据不同目标地点之间距离的大小生成的;
[0145] 第一确定模块,用于根据聚合关系,确定目标地点的聚合方式;
[0146] 展示模块,用于依据聚合方式,对目标地点进行展示。
[0147] 优选的,该装置还包括:
[0148] 第一获取模块,用于获取用户的输入信息;
[0149] 第二确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;
[0150] 第三确定模块,用于根据所述目标地点的坐标,确定不同目标地点之间的聚合关系。
[0151] 优选的,该装置还包括:
[0152] 第二获取模块,用于获取用户的输入信息;
[0153] 第五确定模块,用于确定所述输入信息所对应的所述目标地点的坐标;
[0154] 第六确定模块,用于根据所述目标地点的坐标,从服务器获取不同目标地点之间的聚合关系。
[0155] 优选的,第一确定模块包括:
[0156] 确定单元,用于根据目标地点显示指令确定地图显示比例;
[0157] 查询单元,用于在聚合关系中查询与地图显示比例相对应的目标地点的聚合方式;聚合关系中记载了不同地图显示比例所对应的目标地点聚合方式。
[0158] 优选的,第一确定模块包括:
[0159] 判断单元,用于依据聚合关系中目标地点聚合的优先级次序,判断当前优先级所对应的目标地点是否需要进行聚合;聚合关系中记载了不同聚合优先级所对应的目标地点聚合方式;
[0160] 调整单元,若判断单元判断为是,则用于将下一优先级作为当前优先级,并驱动判断单元重新工作;
[0161] 第二确定单元,若判断单元判断为否,则用于根据当前优先级所对应的目标地点确定聚合方式。
[0162] 优选的,若目标地点显示指令中携带有放大或缩小指令,且显示屏当前已经显示有聚合后的目标地点,则该装置还包括如下模块:
[0163] 第四确定模块,用于根据当前显示屏上所显示的聚合后的目标地点所对应的优先级确定当前优先级。
[0164] 优选的,第三确定模块包括:
[0165] 第一计算单元,用于计算指定的地图显示比例下,任意两个或多个目标地点是否需要聚合;
[0166] 生成单元,用于依据计算的结果生成聚合关系。
[0167] 优选的,第三确定模块包括:
[0168] 第二计算单元,用于计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,聚合优先值是依据至少两个目标地点之间的距离生成的;
[0169] 聚合单元,用于将目标聚合优先值所对应的至少两个目标地点聚合成一个目标地点,并重新执行步骤计算当前目标地点中,任意至少两个目标地点之间的聚合优先值,直至当前目标地点的数量达到预定数值,或直至目标聚合优先值的数值达到预定数值,或直至目标聚合优先值所对应的至少两个目标地点之间的距离达到预定距离;目标聚合优先值是聚合优先值中数值最小/最大的;
[0170] 更新单元,用于根据目标聚合优先值所对应的至少两个目标地点更新聚合关系。
[0171] 优选的,聚合优先值是根据目标地点之间的距离和目标地点进行过聚合的次数确定的。
[0172] 上述方法相对应的,本申请还提供了电子地图显示系统,包括:
[0173] 服务器和智能终端;
[0174] 服务器用于将聚合关系向智能终端发送;
[0175] 智能终端用于按照如上述方法执行相应的步骤。
[0176] 或者说,在某一种情况下,服务器用于执行上述步骤的S101-S103,智能终端用于执行步骤S104-S106。该智能终端优选为移动终端,如手机、平板电脑。
[0177] 通过在服务器上执行步骤S101-S103,能够降低智能终端的负载,提高智能终端的效率。某种情况下,用户可以通过操作只能终端将关键词向服务器发送,以使服务器执行步骤S101-S103。
[0178] 本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述方法的步骤。
[0179] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0180] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0181] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0182] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0183] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0184] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。