数字地图的动态重新样式化的制作方法

文档序号:20956462发布日期:2020-06-02 20:26阅读:176来源:国知局
数字地图的动态重新样式化的制作方法

本公开涉及交互式数字地图,并且更具体地,涉及对数字地图上与导航路线有关的地图特征进行动态地重新样式化(restyling)。



背景技术:

本文提供的背景技术描述是为了总体上呈现本公开的背景。至在此背景技术部分中所描述的程度的、目前提名的发明人的工作,以及在提交时不会在其它情况下视为现有技术的描述的方面,均未明确或暗含地承认为针对本公开的现有技术。

各种地理应用在计算设备上显示的交互式数字地图通常描绘许多地理或地图特征,诸如道路、国家和城镇的轮廓、水域、建筑物、兴趣点(pointsofinterest,poi)等。这些地理或地图特征中的一些可以在不同情况下不同地描绘。例如,通常以蓝线描绘的道路可以用红色渲染以说明拥挤的交通,或者可以响应于地理查询而突出县的边界。

另外,各种地理应用生成逐步的导航指导(navigationdirection)。典型地,服务器生成其中导航路线被突出的图像。服务器还指定图钉的位置以描绘目的地。除了要求经由通信网络发送额外的数据外,这种方法还经常导致突出和图钉遮蔽重要的地图特征。



技术实现要素:

为了在数字地图显示中呈现导航路线,动态地图绘制(mapping)系统利用多个视觉样式,例如“最小”、“标准”和“丰富”以用于各种地图特征,诸如道路、建筑物、公园、水域、poi等。为了说明导航路线,动态地图绘制系统可以通过以不同的视觉样式渲染一组地图特征来强调这些地图特征。例如,第一组地图特征可以包括导航路线中包括的若干个路段以及与目的地相对应的建筑物。因此,动态地图绘制系统以丰富样式渲染路段和建筑物,这可以包括更高细节级别(levelofdetail,lod)或视觉特性的其他差异。例如,对于丰富样式,系统可以用粗线渲染路段,粗线具有在中央的分隔线以及在分隔线的每一侧的两组虚线。该系统可以将建筑物渲染为三维(3d)或2.5d对象,诸如立方体形或矩形棱柱形的对象。

另外,在一些实施例中,动态地图绘制系统识别数字地图显示内与导航路线无关的第二组地图特征。系统可以以最小样式来渲染第二组地图特征,其可以包括较低细节级别,以不强调与导航路线无关的第二组地图特征,并提供与用丰富样式渲染的第一组地图特征的对比。例如,对于最小样式,系统可以用细线渲染路段。系统可以用细线将建筑物渲染为二维正方形或矩形对象。

此外,系统可以以标准样式渲染数字地图显示内的第三组地图特征,其可以包括默认细节级别。例如,对于标准样式,系统可以用中等线渲染路段,该中等线比最小样式中使用的细线更粗,而比丰富样式中使用的粗线更细。该系统可以将建筑物渲染为二维正方形或矩形对象,其线比用于以最小样式渲染建筑物的线更粗,并且具有阴影,以使建筑物看起来是提高的。

以这种方式,系统不需要用图钉或覆盖图标来描绘导航路线的目的地,而是可以用丰富样式来强调目的地。此外,服务器不需要生成覆盖以突出导航路线,而是服务器可以简单地向客户端设备提供指令以用不同的视觉样式渲染某些地图特征,或者在另一种实施方式中,仅向客户端设备提供导航路线的描述,并且客户端设备可以反过来基于接收的导航路线的描述选择要强调的地图特征。

本公开的技术的一个示例实施例是一种用于在数字地图上示出导航指导的方法。该方法包括生成地理区域的数字地图,包括以默认细节级别提供数字地图中包括的地图特征,以及获得到位于该地理区域中的目的地的导航路线。该方法还包括识别与位于该地理区域中并且与导航路线有关的物理实体相对应的第一多个地图特征;以及生成修改的数字地图,包括以高细节级别重新渲染第一多个地图特征,其中修改的数字地图包括以比高细节级别低的细节级别显示的地图特征。

本公开的技术的另一示例实施例是一种用于在数字地图上示出导航指导的服务器设备。该服务器设备包括一个或多个处理器以及耦接到一个或多个处理器并在其上存储指令的非暂时性计算机可读存储器。所述指令在由一个或多个处理器运行时,使服务器设备:生成地理区域的数字地图,包括以默认细节级别提供数字地图中包括的地图特征,并获得到位于地理区域中的目的地的导航路线。指令还使服务器设备识别与位于地理区域中并且与导航路线有关的物理实体相对应的第一多个地图特征,并生成修改的数字地图,包括以高细节级别重新渲染第一多个地图特征,其中修改的数字地图包括以比高细节级别低的细节级别显示的地图特征。

本公开的技术的又一示例实施例是一种用于在数字地图上示出导航指导的客户端设备。客户端设备包括一个或多个处理器以及耦接到一个或多个处理器并在其上存储指令的非暂时性计算机可读存储器。所述指令在由一个或多个处理器执行时使客户端设备:显示包括以默认细节级别呈现的地图特征的地理区域的数字地图,以及接收对到位于所述地理区域中的目的地的导航指导的请求。所述指令还使客户端设备:获得与位于所述地理区域中并且与到目的地的导航路线有关的物理实体相对应的第一多个地图特征的描述,以高细节级别显示数字地图内的所述第一多个地图特征,以及以比高细节级别低的细节级别显示数字地图内的其他地图特征。

附图说明

图1是示例系统的框图,其中可以实现用于动态地重新样式化地图特征的技术;

图2是以图形方式描绘视觉样式的示例样式表,图1的动态地图绘制系统可以利用该样式来渲染地图特征;

图3是包括具有以丰富样式渲染的与导航路线有关的地图特征的导航路线的示例地图显示;

图4是具有以标准样式渲染的地图特征的另一示例地图显示;

图5是具有以丰富样式渲染的一些地图特征以及以最小样式渲染的其他地图特征的又一示例地图显示;

图6是用于在数字地图上提供导航指导的示例方法的流程图,该方法可以在服务器设备中实现;以及

图7是用于在数字地图上示出导航指导的示例方法的流程图,该方法可以在客户端设备中实现。

具体实施方式

总体概述

本公开提供一种用于通过由客户端设备和/或网络服务器选择性地修改某些地图特征的可视化来有效地重新生成数字地图的技术。这消除了生成新图像或提供覆盖(overlay)以突出导航路线的需要以及提供图钉(pin)或其他覆盖图标来指明位置的需要。本公开提供了用于选择性地修改地图特征的可视化的一种特别有效的机制,从而减少带宽需求和处理开销。

具体地,系统可以针对各种地图特征,诸如道路、建筑物、公园、水域、poi等,利用多个视觉样式,例如“最小”、“标准”和“丰富”。这些视觉样式可以被应用于地图特征的几何结构(geometry),该几何结构以用于使用点和连接点的路径的数学描述来指定几何形状的矢量图形格式或另一种合适的格式定义。为了方便起见,将符合这些格式中的任何一种的数据称为“矢量数据”。更具体地,矢量数据可以指定各种几何形状(例如,使用数学描述),并指示应如何定位这些形状以渲染各种地图特征,而样式数据可以描述诸如线宽(例如,在本文中称为“pt”的以像素为单位的宽度)、线颜色、一个或多个填充颜色、一个或多个形状或图形、阴影颜色、阴影厚度等的视觉特性或属性,用于可以应用于矢量数据的各种视觉样式。网络服务器和/或客户端设备可以选择性地将不同的视觉样式应用于某些地图特征,以强调和不强调导航路线或多组地图特征。在一些实施例中,网络服务器还可以指定客户端设备应将哪些视觉样式应用于地图特征的各种基于矢量的描述(在本文中也称为矢量描述符或简称为矢量)。

作为更具体的示例,服务器可以指令客户端设备在视觉上强调导航路线中包括的路段,不强调不在导航路线中的路段,并将其余特征保留为默认(标准)细节级别。服务器还可以指令客户端设备在视觉上强调响应于搜索查询的一组地图特征。与导航路线或搜索查询有关的一组地图特征通常可以包括一个或多个类型(例如,路段、建筑物、公园)的任何数量的特征以及相关联的标签。

在一个示例实施例中,客户端设备从网络服务器接收并在本地存储器中存储用于数字地图中包括的地图特征的多个视觉样式的定义。客户端设备最初可以以标准样式显示某个地理区域的所有地图特征。为了说明导航路线,服务器指定客户端设备应以丰富样式重新渲染哪些地图特征,以及(在一些情况下)客户端设备应以最小样式重新渲染哪些地图特征。

在另一个示例实施例中,服务器最初提供地图特征以及仅标准样式。为了说明导航路线,在这种情况下,服务器提供各种地图特征的丰富样式的描述,以及应以这些样式重新渲染哪些地图特征的指示。

示例硬件和软件组件

参考图1,可以在其中实现以上概述的技术的示例通信系统包括客户端计算设备10(在本文中也称为“客户端设备”)。客户端设备10可以是例如便携式设备,诸如智能电话或平板计算机。客户端设备10还可以是膝上型计算机、台式计算机或个人数字助理(pda)。客户端设备10还可以经由诸如第四代或第三代蜂窝网络(分别为4g或3g)的有线或无线通信网络32与各种内容提供商、服务器等进行通信。客户端设备10可以包括诸如触摸屏的显示器28。显示器可以包括用于输入文本输入的软件键盘。附加地,客户端设备10包括图形处理单元(gpu)16、一个或多个处理器或cpu12、gps模块14、存储器20和蜂窝通信单元18,以经由3g蜂窝网络、4g蜂窝网络或任何其他合适的网络发送和接收数据。

存储器20可以存储例如操作系统24的指令以及作为地图绘制应用22的一部分的动态地图渲染引擎26。动态地图渲染引擎26可以接收和存储诸如样式表42的样式数据,用于对数字地图显示中的地图特征进行样式化。此外,动态地图渲染引擎26可以从样式控制器38接收到目的地的导航指导,其中导航指导包括与导航路线有关的第一组地图特征。动态地图渲染引擎26可以根据包括在样式数据中的样式中的一个来渲染第一组地图特征。动态地图渲染引擎26和样式控制器38可以一起形成动态地图绘制系统。

软件组件22、24和26可以包括编译的指令和/或在运行时可解释的任何合适的编程语言的指令。无论如何,软件组件22、24和26在一个或多个处理器12上运行。

地图绘制应用22通常可以针对不同的相应操作系统以不同的版本提供。例如,客户端设备10的制造商可以为androidtm平台提供包括地图绘制应用22的软件开发工具包(sdk),为iostm平台提供另一sdk等。

客户端设备10经由远程无线通信链路(例如,蜂窝链路)访问诸如互联网的广域通信网络32。客户端设备10可以经由蜂窝通信单元18访问通信网络32。在图1的示例配置中,客户端设备10与提供导航数据的导航服务器33和(例如,以矢量图形格式)生成地图数据的地图数据服务器36通信。

在一些实施方式中,地图数据服务器36包括存储器37和一个或多个处理器39。存储器37可以是有形的非暂时性存储器,并且可以包括任何类型的合适的存储器模块,包括随机存取存储器(ram)、只读存储器(rom)、闪存、其他类型的持久性存储器等。存储器37存储在处理器39上可运行的指令,处理器39构成样式控制器38,该样式控制器38生成若干个视觉样式并例如以样式表64将视觉样式提供给动态地图渲染引擎26。

样式控制器38可以利用,并且在一些实施例中,管理指示各种样式的视觉特性的样式表64。参考图2更详细地讨论可以用作样式表64的样式表的示例实施方式。在一个实施例中,样式控制器38使用样式表64来确定应将哪个样式应用到客户端设备10处的各种地图特征,并为客户端设备10生成适当的指示。

在一些实施例中,用户经由地图绘制应用22请求地理区域的地图数据。因此,客户端设备10将请求提供给地图数据服务器36,地图数据服务器36转而从地图数据库40中检索该地理区域的地图数据。地图数据可包括若干个地图特征,这些地图特征可以是例如表示道路、建筑物、公园、poi、水域、城市边界和其他地理实体的二维和三维形状。样式控制器38还例如从样式表64中检索要应用于地图特征的视觉样式的描述。

然后,样式控制器38将视觉样式的描述与地图数据一起提供给客户端设备10,并且动态地图渲染引擎26根据相应的视觉样式来渲染地图特征,并呈现包括渲染的地图特征的数字地图显示。在一些实施例中,样式控制器38提供用于渲染地图特征的默认视觉样式。例如,样式控制器38向动态地图渲染引擎26提供与默认细节级别相对应的标准样式,并且动态地图渲染引擎26根据标准样式来渲染每个地图特征。

在其他实施例中,样式控制器38向动态地图渲染引擎26提供若干个视觉样式的描述(例如,最小、标准和丰富样式),并且动态地图渲染引擎26确定要以其渲染每个地图特征的适当样式。在又一实施例中,样式控制器38向动态地图渲染引擎26提供若干个视觉样式的描述(例如,最小、标准和丰富样式)以及要应用于每个地图特征的视觉样式的指示。例如,样式控制器38可以提供用于对每个地图特征进行样式化的指令(例如,以丰富样式渲染与导航路线有关的第一组地图特征,以最小样式渲染与导航路线无关的第二组地图特征等)。

响应于经由地图绘制应用22提供给地图数据服务器36的对到目的地的导航指导的请求,样式控制器38从导航服务器33检索到目的地的导航路线,或者使用离线数据本地地生成导航路线。然后,样式控制器38识别与位于地理区域中并且与导航路线有关的物理实体相对应的每个地图特征,诸如沿着导航路线的一组路段、与目的地相对应的建筑物、poi等。然后,样式控制器38将与导航路线有关的地图特征的描述作为第一组地图特征提供给客户端设备10。例如,地图特征的描述可以包括道路几何结构的描述。在一些实施例中,动态地图渲染引擎26然后通过使用丰富样式重新渲染第一组地图特征来生成修改的数字地图。

在其他实施例中,样式控制器38将作为第一地图特征的与导航路线有关的地图特征、以及用于丰富样式的样式数据和/或用于使动态地图渲染引擎26使用丰富样式重新渲染第一组地图特征的指令提供给客户端设备10。

修改的数字地图还包括以比对应于丰富样式的高细节级别低的细节级别显示的地图特征。更具体地,在一些实施例中,样式控制器38将与导航路线无关的地图特征提供给客户端设备10作为第二组地图特征。然后,动态地图渲染引擎26通过使用最小样式重新渲染第二组地图特征以及使用标准样式重新渲染其余地图特征来生成修改的数字地图。具体地,对导航指导的请求可以指定在客户端设备10处已经可用其样式数据的样式(例如,存储在样式表中的样式)。如果客户端设备10尚未接收到用于丰富样式或最小样式的样式数据,则地图数据服务器36提供对应的样式数据。

在其他实施例中,动态地图渲染引擎26使用最小样式重新渲染数字地图显示中包括的、不在第一组地图特征中的每个地图特征。在又一实施例中,样式控制器38将作为第二组地图特征的与导航路线不相关的地图特征(例如,与导航路线有关的地图特征的阈值距离内的地图特征)以及用于最小样式的样式数据和/或用于使动态地图渲染引擎26使用最小样式来重新渲染第二组地图特征的指令提供给客户端设备10。同样在另一个实施例中,样式控制器38根据适当的样式来渲染每个地图特征,并且例如以栅格图像的形式将渲染的地图特征提供给客户端设备10。

样式控制器38和/或动态地图渲染引擎26可以根据任何适合的基于距离和/或相关性的方案来识别与导航路线或搜索查询有关的地图特征。例如,在生成导航路线时,样式控制器38可以识别构成导航路线的路段以及距路线一定距离(例如,20米)内的每个结构(例如,建筑物、桥梁、隧道),并将识别的路段和结构包含在要使用丰富样式进行渲染一组地图特征中。在一些情况下,样式控制器38还可以在这组地图特征中包括距路线一定距离(例如,50米)内的一定阈值突出(根据尺寸、可见性、与附近结构的颜色对比来测量)的地标。此外,在某些情况下,样式控制器38可以在该组地图特征中包括一定阈值受欢迎度的兴趣点。

此外,样式控制器38和/或动态地图渲染引擎26可以基于客户端设备10的当前位置或另一个合适的信号,动态地变更要在数字地图上强调的一组地图特征的内容。作为更具体的示例,动态地图渲染引擎26可以使用丰富样式渲染沿着导航路线移动的客户端设备10的当前位置的一定半径内的地图特征,使用标准样式渲染与导航路线的其他部分相关联的地图特征,并使用最小样式渲染与导航路线无关的地图特征。以这种方式,客户端设备10看起来在高度详细的地图特征的“气泡”中沿着路线移动。

存储器37或另一服务器中的存储器也可以存储用于生成地图数据或用于调用导航服务器33来生成导航指导的指令。

更一般地,客户端设备10可以与任何数量的合适的服务器进行通信。例如,在另一个实施例中,建议服务器34基于部分用户输入来生成建议,交通数据服务器提供沿路线的交通更新,天气数据服务器提供天气数据和/或警报等。

为了简单起见,图1将地图数据库40示为仅数据库的一个实例。然而,根据一些实施方式的地图数据库40包括一个或多个数据库的群组,每个数据库存储不同的信息。另外,图1仅将地图数据服务器36示为服务器的一个实例。然而,根据一些实施方式的地图数据服务器36包括一个或多个地图数据服务器的群组,每个地图数据服务器装备有一个或多个处理器并且能够独立于其他地图数据服务器进行操作。在这样的群组中操作的地图数据服务器可以单独地处理来自客户端设备10的请求(例如,基于可用性),以其中与处理请求相关联的一个操作在一个地图数据服务器上执行、而与处理相同的请求相关联的另一操作在另一个地图数据服务器上执行的分布式方式,或根据任何其他合适的技术执行。为了讨论的目的,术语“地图数据”可以指单独的地图数据服务器或两个或更多个地图数据服务器的群组。

图2示出了示例样式表200,该样式表200图形化地描绘了各种类型的地图特征的视觉样式。更具体地,在该示例中,样式表200包括三个视觉样式:最小样式210、标准样式220和丰富样式230。对于特定的视觉样式,样式表200包括每个类型的地图特征的一组视觉属性或配置参数。例如,对于最小样式210,建筑物210a的一组配置参数包括具有细线(例如,具有1pt的线粗度)的二维正方形对象。最小样式建筑物210a的填充颜色为白色,轮廓颜色为浅灰色,并且没有阴影。对于标准样式220,建筑物220a的一组配置参数包括具有较粗线(例如,具有2pt的线粗度)的二维正方形对象。最小样式建筑物220a的填充颜色为白色,轮廓颜色为浅灰色,并且存在浅灰色阴影。对于丰富样式230,建筑物230a的一组配置参数包括三维立方体或矩形棱柱形的图形,其顶面上带有三角形,并且具有白色填充色,浅灰色轮廓颜色以及比标准样式建筑物220a更大且更暗的阴影。

在另一个示例中,对于最小样式210,道路210b的一组配置参数包括具有深灰色线颜色的细线(例如,具有1pt的线粗度)。对于标准样式220,道路220b的一组配置参数包括具有深灰色线颜色的较粗线(例如,具有3pt的线粗度)。对于丰富样式230,道路230b的一组配置参数包括甚至更粗的线图形(例如,具有5pt的线粗度),具有中间的白色分隔线,分隔线的每侧上的两组白色虚线,以及深灰色填充颜色。

如示例样式表200中所示,丰富样式230具有最高细节级别,而标准样式220具有中等或默认细节级别,而最小样式210具有低细节级别。以这种方式,数字地图显示在以丰富样式230渲染的地图特征与以最小样式210甚至标准样式220渲染的地图特征之间呈现出鲜明的对比,以强调丰富样式230的那些地图特征(例如,与导航路线有关的地图特征),并且不强调最小样式210的那些地图特征。虽然样式表200描绘了针对两种类型的地图特征(包括建筑物和道路)的视觉样式,但是这些仅是可以包括在样式表200中的示例地图特征类型。样式表200还可以包括用于附加地图特征类型的视觉样式,所述附加地图特征类型诸如公园、poi、水域、城市边界和其他地理实体。此外,用于每个视觉样式和地图特征类型的一组配置参数仅仅是一组配置参数的示例。地图特征类型和视觉样式(例如,最小样式建筑物)可以包括任何合适的配置参数,以使得对于特定的地图特征类型,最小样式具有最低细节级别,标准样式具有中等或默认细节级别,而丰富样式具有最高细节级别。一组配置参数可以包括例如特定的线粗度、特定的填充颜色、特定的轮廓颜色、特定的形状或图形、特定的阴影颜色、特定的阴影厚度等。

因此,在一些实施方式中,最小、标准和丰富样式的描述仅包括视觉属性(例如,颜色、线粗度、笔划类型)的描述,诸如opengl的图形管线将所述视觉属性的描述应用于相同的几何结构。在其他实施方式中,最小、标准和丰富样式的描述包括附加几何结构的描述以及要添加到以更简单样式渲染的地图特征的对应视觉属性。

在一些实施例中,如图1所示的样式控制器38生成样式表200,该样式表200包括用于每个视觉样式和地图特征类型的一组配置参数,并将样式表200提供给动态地图渲染引擎26,以根据适当的视觉样式渲染地图特征。例如,动态地图渲染引擎26可以被配置为以标准样式220渲染没有导航路线的数字地图中的地图特征。当存在要显示的导航路线时,动态地图渲染引擎26可以被配置为以丰富样式230渲染与导航路线有关的数字地图中的地图特征以及以最小样式210渲染与导航路线不相关的地图特征。在其他实施例中,当存在导航路线时,动态地图渲染引擎26可以被配置为以丰富样式230渲染与导航路线有关的数字地图中的地图特征,以最小样式210渲染与导航路线有关的地图特征的阈值距离内的地图特征以及以标准样式220渲染其余的地图特征。在又一实施例中,样式控制器38可以向动态地图渲染引擎26提供描述要以其渲染数字地图中的每个地图特征的适当的视觉样式的指令。

示例地图显示

图3示出了示例地图显示300,其包括到目的地的导航路线304a、304b,该目的地是包括花样披萨(fancypizza)餐厅的建筑物310。地图绘制应用22可以经由客户端设备10的显示器28呈现示例地图显示300。该示例中的导航路线包括路段304a、304b,用于将用户导航至包括花样披萨餐厅的建筑物310。因此,动态地图绘制系统将路段304a、304b和建筑物310识别为与导航路线有关的地图特征。动态地图绘制系统以丰富样式230渲染这些特征,如图2所示。在此示例中,动态地图绘制系统以最小样式210渲染诸如路段312和公园308的其余地图特征,同样如图2所示。地图显示300还包括沿导航路线的用户的当前位置302的指示以及指示沿路线的交通的覆盖306。虽然客户端设备10未在数字地图上显示与导航路线相对应的覆盖,但是其他信息(诸如交通数据)可以被突出描绘,诸如红色颜色覆盖以丰富样式230渲染的路段304a的一部分。

图4示出了不包括导航路线的另一示例地图显示400。例如,当用户启动地图绘制应用22或平移或缩放数字地图以查看特定的地理区域时,地图绘制应用22可以经由显示器28呈现地图显示400。在示例地图显示400中,如图2所示,诸如路段402a、402b、408、建筑物406和公园404的地图特征以标准样式220出现。例如,与在图3中以最小样式210呈现的公园308相比,公园404具有更深的绿色填充颜色、更粗的线和更暗的轮廓颜色。而且,与在图3中以最小样式210呈现的路段312相比,路段408具有更粗的线。此外,与在图3中以丰富样式230呈现的建筑物310相比,建筑物406是二维的而不是三维的,并且具有更小和更浅的阴影。

图5示出了不包括导航路线的又一示例地图显示500。在示例地图显示500中,动态地图绘制系统以丰富样式230呈现公园504,而以最小样式210呈现其余的地图特征502a、502b、506、508,如图2所示。例如,当用户在地图绘制应用22内选择公园504作为搜索结果时,动态地图绘制系统可以经由显示器28呈现地图显示500。然后,动态地图绘制系统以丰富样式230渲染公园504,而不是在数字地图上公园所在位置处呈现图钉。另外,当公园504是用户熟悉的位置,在如指示符510描绘的用户当前位置的阈值距离以内,根据用户的日历用户在公园504有即将发生的游戏或事件,或者出于任何其他合适的原因在地图显示500内强调公园504时,动态地图绘制系统可以生成地图显示500。在任何情况下,与以标准样式220呈现的公园404相比,公园504包含足球场图形而不是绿色矩形对象。

用于动态地重新样式化地图特征的示例方法

图6示出了用于在数字地图上提供导航指导的示例方法600的流程图。该方法可以以存储在计算机可读存储器中并且可以在服务器设备36的一个或多个处理器处执行的一组指令中来实现。例如,该方法可以由样式控制器38来实现。

在框602处,例如从在客户端设备10中运行的地图绘制应用22接收对地理区域的地图数据的请求。响应于该请求,例如,从图1所示的地图数据库40检索该地理区域的地图数据。地图数据可以包括若干个地图特征,例如可以是表示道路、建筑物、poi、公园、水域、城市边界以及其他地理实体的二维和三维形状。在一些实施例中,每个地图特征可具有以用于使用点和连接点的路径的数学描述来指定几何形状的矢量图形格式或另一种合适的格式描述的几何结构。矢量数据通常允许客户端设备缩放、旋转以及以其他方式对形状进行操作而不会失真。例如,矢量数据可以指定线段的两个端点的坐标并指示两个端点通过直线连接,而不是指定构成线段的栅格图像的每个像素。无论如何,服务器设备36将地理区域内的地图特征提供给客户端设备10(框604)。

除了将地理区域内的地图特征提供给客户端设备10之外,地图数据服务器36生成适用于地图特征的视觉样式,并将视觉样式的描述提供给客户端设备10(框606)。例如,地图数据服务器36可以生成三个视觉样式:最小样式、标准样式和丰富样式。每个视觉样式可以包括针对若干个地图特征类型(例如,道路、建筑物、poi、公园、水域、城市边界、其他地理实体等)中的每一个的一组配置参数。该组配置参数可以包括例如特定的线粗度、特定的填充颜色、特定的轮廓颜色、特定的形状或图形、特定的阴影颜色、特定的阴影厚度等。可以以样式表将视觉样式提供给客户端设备10,类似于图2中所示的样式表200。因此,客户端设备10存储样式表的本地副本,以根据适用的视觉样式渲染地图特征。

对于每个地图特征,客户端设备10可以接收用于地图特征的几何结构和要以其渲染地图特征的具有特定的一组配置参数的视觉样式。例如,对于路段,客户端设备10可以接收通过直线连接的线段的两个端点的坐标。对于标准样式,客户端设备10可以接收包括3pt的线粗度和深灰色的线颜色的用于路段的一组配置参数。

然后,客户端设备10可以将样式数据适当地应用于指定的线段,从而以包括特定的颜色、宽度等的适用的视觉样式来显示线段。作为另一个示例,矢量数据可以指定三角形的轮廓,并且对应的样式数据可以指定轮廓线的颜色、轮廓线的宽度以及三角形内部区的颜色。换句话说,代替从地图数据服务器36接收栅格图像,客户端设备10可以接收用于在显示器28上绘制地图图像的指令并运行该指令以生成栅格地图图像。然而,在某些情况下,矢量数据还可以包括栅格图像,因为某些组成元素无法轻易以矢量格式表示。

在一些实施例中,地图数据服务器36向客户端设备10提供用于样式化每个地图特征的指令,并且客户端设备10根据它们相应的样式在地图显示中渲染地图特征。在其他实施例中,地图数据服务器36仅提供适用于特定地图特征的视觉样式。例如,当数字地图不包括导航路线时,可以以标准样式来渲染地图特征,并且地图数据服务器36仅将标准样式提供给客户端设备10。

在任何情况下,在框608处,例如从在客户端设备10中运行的地图绘制应用22接收对到目的地的导航指导的请求。响应于对导航指导的请求,地图数据服务器36从导航服务器33检索到目的地的导航路线。然后,地图数据服务器36识别与该导航路线有关的每个地图特征,诸如沿着导航路线的一组路段,与目的地相对应的建筑物等(框610)。

然后,地图数据服务器36将与导航路线有关的地图特征提供给客户端设备10,作为第一组地图特征(框612)。例如,地图数据服务器36可以提供对先前发送到客户端设备10并且由地图绘制应用22在数字地图中呈现的地图特征的指示或引用。更具体地,每个地图特征可以具有唯一地识别地图特征的特征id。地图数据服务器36可以提供特征id作为对包括在第一组地图特征中的地图特征的引用,而不是将地图特征的描述再一次发送到客户端设备10。在一些实施例中,客户端设备10然后使用丰富样式重新渲染第一组地图特征。

在其他实施例中,地图数据服务器36将作为第一组地图特征的与导航路线有关的地图特征以及用于丰富样式的样式数据(框614)和/或用于使客户端设备10使用丰富样式重新渲染第一组地图特征的指令提供给客户端设备10。具体地,对导航指导的请求可以例如通过包括在客户端设备10处不可获得的样式来显式地指定样式,或者通过提供在客户端设备处已经可获得的样式(例如,存储在样式表中的样式)的列表来隐式地指定样式。如果客户端设备10尚未接收到丰富样式的样式数据,则地图数据服务器36提供对应的样式数据。

同样在一些实施例中,地图数据服务器36将与导航路线不相关的地图特征提供给客户端设备10作为第二组地图特征。例如,地图数据服务器36可以提供对先前由地图绘制应用22在数字地图中提供和呈现的地图特征的指示或引用。更具体地,每个地图特征可以具有唯一地识别地图特征的特征id。地图数据服务器36可以提供特征id作为对包括在第二组地图特征中的地图特征的引用,而不是再一次向客户端设备10提供地图特征。然后,客户端设备使用最小样式重新渲染第二组地图特征,并且使用标准样式重新渲染其余地图特征。在其他实施例中,客户端设备10使用最小样式重新渲染数字地图显示中包括的并且不在第一组地图特征中的每个地图特征。在又一实施例中,地图数据服务器36将作为第二组地图特征的与导航路线不相关的地图特征以及用于最小样式的样式数据(框614)和/或用于客户端设备10使用最小样式重新渲染第二组地图特征的指令提供到客户端设备10。

在其他实施例中,地图数据服务器36根据适当的样式渲染每个地图特征。然后,地图数据服务器36向客户端设备10提供地图图块,即一定尺寸(例如,256×256像素)的地图图像的一部分,包括渲染的地图特征。

图7示出了用于在数字地图上示出导航指导的示例方法700的流程图。该方法可以以存储在计算机可读存储器上并且可以在客户端设备10的一个或多个处理器处执行的一组指令实现。例如,该方法可以由动态地图渲染引擎26实现。

在框702处,客户端设备10呈现包括若干地图特征的地理区域的数字地图,这些地图特征可以是例如表示道路、建筑物、poi、公园、水域、城市边界和其他地理实体的二维和三维形状。为了呈现数字地图,客户端设备10可以从服务器设备接收以矢量图形格式或使用点和连接点的路径的数学描述指定几何形状的其他合适的格式描述的每个地图特征的几何结构。在其他实施例中,客户端设备10从本地存储在客户端设备处的离线地图数据中检索每个地图特征的几何结构。

客户端设备10还可以从服务器设备接收适用于地图特征的视觉样式的描述(框704),其中,每个视觉样式包括针对若干个地图特征类型中的每一个的一组配置参数。例如,视觉样式可以包括最小样式、标准样式和丰富样式。每个样式可以具有用于道路、建筑物、poi、公园、水域、城市边界、其他地理实体等的不同一组配置参数。在一些实施例中,客户端设备10接收并存储包括用于渲染地图特征的配置参数和样式中的每个的样式表。在其他实施例中,客户端设备10接收用于特定样式(诸如,处于默认细节级别的标准样式)的配置参数,并将该特定样式应用于地图特征(框706)以渲染数字地图。

然后在框708处,接收对到目的地的导航指导的请求。客户端设备10可以经由地图绘制应用22呈现的用户控件来接收请求。例如,用户可以使用地图绘制应用22输入目的地,并选择请求从用户的当前位置到目的地的指导的用户控件。客户端设备10然后获得到目的地的导航路线。可以从导航服务器33获得导航路线,或者客户端设备10可以检索本地存储的离线导航指导。无论如何,识别与导航路线有关的第一组地图特征(框710),诸如沿着导航路线的一组路段,与目的地相对应的建筑物等。第一组地图特征可以是在框702处呈现的数字地图中包括的地图特征的子集。

然后,客户端设备10以高细节级别将丰富样式应用于第一组地图特征(框712)。客户端设备10还可以以低细节级别将最小样式应用于数字地图中的其余地图特征(框714),以将地图特征从标准样式重新渲染为丰富或最小样式。同样在一些实施例中,客户端设备10获得与导航路线不相关但在与导航路线有关的地图特征的阈值距离内的第二组地图特征。然后,客户端设备10将最小样式应用于第二组地图特征,并将标准样式应用于数字地图内的其余地图特征。

在一些实施例中,地图数据服务器36向客户端设备10提供第一组地图特征或第二组地图特征。例如,地图数据服务器36可以提供对由地图绘制应用22在数字地图中先前提供和呈现的地图特征的指示或引用。更具体地,每个地图特征可以具有唯一地识别地图特征的特征id。地图数据服务器36可以提供特征id作为对包括在第一组地图特征或第二组地图特征中的地图特征的引用,而不是再一次向客户端设备10提供地图特征。在一些实施例中,客户端设备10然后使用丰富样式重新渲染第一组地图特征并且使用最小样式重新渲染第二组地图特征。在其他实施例中,地图数据服务器36向客户端设备提供具有丰富样式的样式数据的第一组地图特征,向客户端设备提供具有最小样式的样式数据的第二组地图特征,和/或为客户端设备10提供使用丰富样式重新渲染第一组地图特征、并使用最小样式重新渲染第二组地图特征的指令。

附加考虑

以下附加考虑适用于前述讨论。在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管将一种或多种方法的单独操作示出并描述为分开的操作,但是可以同时执行单独操作中的一个或多个,并且不需要按照所示顺序执行操作。在示例配置中呈现为分开的组件的结构和功能可以实现为组合结构或组件。类似地,呈现为单个组件的结构和功能可以实现为分开的组件。这些和其他变型、修改、添加和改进落入本公开的主题的范围内。

另外,本文中将某些实施例描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行某些操作的有形单元,并且可以以某种方式配置或布置。在示例实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或处理器的群组)可以由软件(例如,应用或应用部分)配置为操作以执行本文所述的某些操作的硬件模块。

在各种实施例中,可以机械地或电子地实现硬件模块。例如,硬件模块可以包括专用电路或逻辑,该专用电路或逻辑被永久地配置(例如,作为专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic))以执行某些操作。硬件模块还可包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,如通用处理器或其他可编程处理器中所包含的)。将意识到,通过成本和时间方面考虑可以驱使以机械方式、在专用且永久配置的电路中,或者在临时配置的电路(例如,由软件配置)中实施硬件模块的决策。

因此,术语硬件应理解为包含有形实体,是指物理地构造、永久配置(例如,硬接线)或临时配置(例如,编程)来以某种方式操作或执行本文所述的某些操作的实体。如本文所使用的,“硬件实现的模块”是指硬件模块。考虑其中硬件模块被临时配置(例如,编程)的实施例,每个硬件模块不需要在时间的任何一个实例中被配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间配置为相应不同的硬件模块。软件可以相应地配置处理器,例如,以在时间的一个实例上构成特定的硬件模块,并在时间的不同实例上构成不同的硬件模块。

硬件模块可以向其他硬件提供信息并从其他硬件接收信息。因此,所描述的硬件模块可以被认为是通信地耦接的。在同时存在多个这样的硬件模块的情况下,可以通过连接硬件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件模块的实施例中,可以例如通过在多个硬件模块可以访问的存储器结构中存储和检索信息来实现这种硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在其通信地耦接至的存储器设备中。然后,另一个硬件模块可以在以后的时间访问存储器设备以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息的集合)上进行操作。

方法600和700可以包括有形计算机可执行指令的形式的一个或多个功能块、模块、单独的功能或例程,该有形计算机可执行指令被存储在非暂时性计算机可读存储介质中并且使用计算设备(例如,服务器设备、个人计算机、智能电话、平板计算机、智能手表、移动计算设备或其他客户端计算设备,如本文所述)的处理器来运行。方法600和700可以作为任何后端服务器的一部分(例如,如本文所述的地图数据服务器、导航服务器或任何其他类型的服务器计算设备)、例如示例环境的客户端计算设备模块、或作为此类环境外部模块的一部分被包括在内。尽管为了便于说明可以参考其他附图来描述附图,但是方法600和700可以与其他对象和用户界面一起使用。此外,尽管以上说明描述了由特定设备(诸如服务器设备36和客户端设备10)执行方法600和700的步骤,但这仅是出于说明目的。方法600和700的框可以由一个或多个设备或环境的其他部分执行。

本文描述的示例方法的各种操作可以至少部分地由(例如,由软件)临时配置或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这种处理器都可以构成处理器实现的模块,这些模块操作以执行一个或多个操作或功能。在一些示例实施例中,本文所指的模块可以包括处理器实现的模块。

类似地,本文描述的方法或例程可以至少部分地由处理器实现。例如,一种方法的至少一些操作可以由一个或多个处理器或处理器实现的硬件模块执行。某些操作的执行可以分布在一个或多个处理器之间,不仅可以驻留在单个机器内,而且可以跨多个机器部署。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境内或作为服务器场),而在其他实施例中,处理器可以跨多个位置分布。

一个或多个处理器还可以操作以支持在“云计算”环境中或作为saas执行相关操作。例如,如上所述,至少一些操作可以由计算机(作为包括处理器的机器的示例)的群组执行,这些操作可以经由网络(例如,互联网)以及经由一个或多个适当的接口(例如api)来访问。

更进一步,这些附图仅出于说明的目的描绘了示例环境的一些实施例。本领域技术人员将从下面的讨论中容易地认识到,在不脱离本文描述的原理的情况下,可以采用本文所示的结构和方法的替代实施例。

在阅读了本公开之后,本领域技术人员将理解用于通过本文公开的原理动态地重新样式化地图特征的附加的替代结构和功能设计。因此,尽管已经图示和描述了特定的实施例和应用,但是应当理解,所公开的实施例不限于本文所公开的精确构造和组件。在不脱离所附权利要求所限定的精神和范围的情况下,可以对本文公开的方法和装置的布置、操作和细节进行对本领域技术人员而言显而易见的各种修改、改变和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1