导航期间的语音指令的制作方法

文档序号:13512569阅读:234来源:国知局
导航期间的语音指令的制作方法

本申请是优先权日为2012年6月5日、国际申请日为2013年5月28日、申请号为201380028721.7、发明名称为“导航期间的语音指令”的发明专利申请的分案申请。



背景技术:

许多现今可用的基于地图的应用程序设计用于多种不同设备(例如,台式计算机、膝上型计算机、平板设备、智能电话、手持式全球定位系统(gps)接收器等)并且用于各种不同目的(例如,导航、浏览、运动等)。这些应用程序中的大多数基于描述感兴趣的街道、公路、点等在地图中的相对位置的地图数据来生成地图显示。

此类应用程序中使用的地图通常是二维(2d)地图或三维(3d)地图。然而,部分地由于查看3d地图的密集处理需求,众多应用程序使用2d地图。出于同一原因,使用3d地图的应用程序通常缓慢、低效、简陋和/或简单以至于使应用程序无用。



技术实现要素:

本发明的一些实施例提供一种包括具有若干新型特征的导航应用程序的设备。在一些实施例中,该设备具有:触敏屏幕,该触敏屏幕显示应用程序输出;以及多点触摸界面,该多点触摸界面允许用户通过屏幕提供触摸输入和手势输入以便与应用程序进行交互。

在一些实施例中,导航应用程序的新型特征包括:(1)导航期间多个不同视图(例如,二维逐向视图、三维逐向视图、总体路线视图等)以及这些视图之间的平滑转变;(2)用于导航的新型用户界面(ui)控件;(3)用于标识沿导航路线的操纵的逼真道路标志;(4)用于所标识操纵的道路标志和其它展示的指令和方向指示器的动态生成;(5)导航应用程序在设备上在后台操作时的信息导航显示;(6)新型语音识别导航引导;以及(7)与设备上可用或可用于设备的其它路线规划应用程序的整合。

虽然在一些实施例中所有这些特征是导航应用程序的一部分,但是其它实施例未将所有这些特征用于导航应用程序。另外,在一些实施例中,导航应用程序是集成地图绘制应用程序的一部分,集成地图绘制应用程序提供若干其它有用操作,包括位置浏览操作、地图搜索操作以及路线标识操作。然而,普通技术人员将认识到,在其它实施例中,导航应用程序是不包括这些其它操作中的一些或所有的独立应用程序。

这里描述每个上述特征。如上所述,一些实施例的导航应用程序在导航期间提供多个不同视图以及这些视图之间的平滑转变。在一些实施例中,此类视图的示例包括二维(2d)逐向视图、三维(3d)逐向视图和总体路线视图。在一些实施例中,应用程序根据设备所渲染的3d导航场景内的透视渲染位置生成逐向视图。在一些实施例中,这种透视渲染位置是可调整的,并且可被视为能从多种不同视点(例如,从多种不同位置和取向)捕获3d导航场景的虚拟相机。因此,在一些实施例中,逐向导航是导航路线的动画渲染,动画渲染是从基于携带设备的用户的遍历方向和速度而沿着路线的方向遍历的虚拟相机的有利位置渲染出,在一些实施例中,遍历方向和速度是由与设备相关联的方向数据(例如,gps数据、三角测量的蜂窝塔数据等)捕捉。

在导航期间,一些实施例的导航应用程序允许用户通过设备屏幕上的手势输入来改变虚拟相机的位置(即,从其渲染出导航路径的位置)。虚拟相机的移动(即,渲染出路线的位置的移动)允许导航应用程序呈现另选的3d视图。一些实施例甚至使用虚拟相机来呈现用于逐向导航的俯视2d视图,而其他实施例通过放大和缩小2d地图来呈现俯视2d视图。

在一些实施例中,导航应用展示用作为3d指示器和3d启动器/切换器二者的3d控件(例如按钮)。3d控件在一些实施例中被实现为悬浮控件,悬浮控件在被需要时可以“悬浮”在2d或3d导航展示上方,而在不被需要时可以“悬浮”离开该展示。此控件还用作当前视图是3d视图的指示器。3d控件可具有不同外观(例如,着色成灰色、黑色、蓝色等)来提供不同指示。在一些实施例中,3d控件在3d数据对于用户当前位置不可用时为灰色,在3d数据可用但是用户当前正在查看2d地图时为黑色,在用户当前正在3d模式中查看地图时为紫色。在一些实施例中,3d控件在用户处于某个缩放水平时显示建筑物图像,并且在被用户选定时提供区域中建筑物的“空拍图”。它还提供一种进入和退出3d导航的快速机制。如在以下另外描述,导航应用程序允许通过设备的多点触摸界面的其它手势输入来在2d导航视图和3d导航视图之间转变。

在一些实施例中,导航应用程序使用浮置控件以便使屏幕上控件保持最小,从而尽可能多地显示交互式导航。在一些实施例中,浮置控件是通过以下方式与当前任务相适应的控件集的一部分:当用户在不同导航视图之间、或就导航只是另一应用程序的若干模态中的一者的实施例而言在不同应用程序模态之间变动时,以动画方式调整控件集的内容。这种自适应性质允许导航应用程序针对不同任务进行优化,同时当在这些任务之间变动时维持一致的外观和交互模型。

当导航应用程序开始导航展示时,在一些实施例中,应用程序(1)自动隐藏浮置控件以及位于地图顶部的条(包含其它ui控件),导航沿着该条显示;并且(2)开始全屏逐向导航展示。在此模式下,应用程序限制与地图的触摸交互。在一些实施例中,要求轻击以便访问被自动隐藏的控件。在一些实施例中,这些控件适于全屏导航外观,包括估计到达时间(eta)在沿顶部的条中的突出显示。

在一些实施例中,顶部条中的控件中的一者是概览按钮。通过在导航期间的任何时间选择这个按钮,用户可无缝地在以下各项之间进行切换:全屏;显示针对逐向指引优化的视图的逐向展示;以及显示更好地适应浏览的剩余路线的视图的概览展示。

在一些实施例中,不变控件集和地图中的原位转变在概览模式与全屏模式之间提供连贯性。这些控件还包括允许用户在概览模式或全屏模式下结束导航的控件。一些实施例还允许在导航的同时执行搜索。例如,一些实施例提供下拉句柄,该下拉句柄允许在概览模式下进行导航的同时将搜索栏拉动至概览显示中。可替代地、或可结合地,一些实施例允许在导航期间通过一些实施例的设备的语音识别输入来执行搜索。另外,在一些实施例中,应用程序允许用户在逐向导航期间执行搜索(例如,语音启动的和/或基于文本的搜索)。一些实施例的导航应用程序还允许通过设备的语音识别输入来启动导航。

在导航期间,一些实施例的导航应用程序还允许用户在没有标引浮置控件或顶部条控件的情况下提供一些手势输入。例如,不同的实施例在逐向导航期间提供不同手势输入来调整2d/3d视图。在一些实施例中,手势输入是用于调整缩放水平的两指收紧/张开操作。对缩放水平的这种调整固有地调整相机相对于路线指引的位置和旋转,从而改变路线指引的2d/3d透视图。可替代地,代替或除了缩放操作,其它实施例提供改变相机的位置的其它手势输入(例如,手指拖动操作)。在其它实施例中,手势输入(例如,手指拖动操作)暂时改变相机的查看方向,以便允许用户暂时扫视导航路线的一侧。在这些实施例中,在短时间段后,应用程序使相机沿路线返回至其先前视角。

导航应用程序的另一新型特征是在导航期间所使用的逼真道路标志。在一些实施例中,标志是与实际公路标志极其相似的纹理化图像。在一些实施例中,这些标志包括指令箭头、文本、盾牌和距离。一些实施例的导航应用程序呈现众多不同情景中的很多种标志变体。另外,在一些实施例中,应用程序根据区域规范以不同颜色呈现标志。

对于紧接在一起的操纵,在一些实施例中,应用程序在第一标志下方呈现第二标志。另外,在一个操纵结束时,导航应用程序利用模仿标志在公路顶上经过的运动来动画绘制标志的离开。当将到来的操纵正在接近时,导航应用程序利用精妙动画(例如,整个标志上的闪光)将注意力吸引至标志上。

在一些实施例中,导航应用程序基于应用程序正在显示标志或展示的情景动态生成用于与导航操纵相关联的道路标志和其它展示(例如,列表视图)的指令。对于给定情景,通过考虑诸如以下因素选择指令文本:可用空间、通过本文之外的手段传达的信息的可用性(例如,语音引导的可用性)、指令变体中的每一个的局部长度、设备的显示屏的大小等。通过局部合成和评估若干替代形式,应用程序可挑选每个场景中的最佳指令串。

类似地,一些实施例的导航应用程序基于应用程序正在显示标志或展示的情景自适应地生成用于与导航操纵相关联的道路标志和其它展示(例如,列表视图)的方向图形指示器。例如,当标志或展示上存在足够空间以供使用较大标志时,一些实施例的导航应用程序通过使用较大图形方向指示来标识要在沿路线的交叉点处执行的操纵,较大图形方向指示器包括:(1)粗略表示车辆的路径的突出风格化箭头以及(2)对应于交叉点的其它元件的一组去强调的直线和曲线。在使用这种方法的一些实施例中,t字交叉点处的右转是由与较小较暗区段以直角接合的大箭头表示,较小较暗区段平行于大箭头的区段中的一者延伸。在一些实施例中,较小区段还被推至一边,使得车辆所经过的路径占据主导。

操纵的这种表示(包括突出风格化箭头和一组去强调的直线)提供关于该操纵的相当完整的信息,同时保持是抽象且易理解的。然而,在其它情景中,标志或其它展示上并不存在足够空间以供用于这种表示。因此,对于此类情况,一些实施例的导航应用程序使用操纵的另选表示,这种另选表示省略显示交叉点并且替代地仅显示在移动方向上的箭头。

为了生成用于沿路线的交叉点操纵的突出风格化箭头或简化箭头,在一些实施例中,导航应用程序从服务器接收对交叉点和操纵的描述。在一些实施例中,服务器执行基于地图数据生成这个描述的自动化过程,并且以压缩几何点数据提供这个信息。另外,在一些实施例中,在路线导航开始时,服务器向导航应用程序供应对沿路线的所有交叉点和操纵的描述,并且在用户偏离路线并且该服务器计算新的路线时偶尔更新这个描述。

当导航应用程序接收交叉点和操纵描述时,一些实施例的应用程序初始执行简化交叉点和操纵的表征的过程,并且随后使用这个简化表征生成用于交叉点的突出风格化图形方向指示器。为了显示交叉点处的操纵,一些导航应用程序通常提供不是针对交叉点来表达的简陋箭头并且不传达更多信息;而其它导航应用程序提供对交叉点的极详细的表示并且通过这个详细表示提供复杂方向表示。因此,一种现有方法提供极少信息,而另一种方法提供太多信息以致所渲染的信息实际上是无用的。通过基于对交叉点的简化描述生成突出风格化方向指示器,一些实施例的导航应用程序显示交叉点处的操纵的详细表示,同时消除交叉点的一些不必要的复杂事物。

在一些实施例中,在应用程序正在后台操作时并且甚至在设备被锁定时,导航应用程序提供导航指令。在一些实施例中,当仅仅减少的控件集可用于将输入提供到设备中时,该设备被锁定。例如,在一些实施例中,对设备的锁定大大限制用户通过该设备的触敏屏幕可提供的输入次数。

在一些实施例中,语音引导指令是在导航应用程序正在后台操作时或在设备被锁定时可提供的指令的一个示例。可替代语音引导或与其相结合地,导航应用程序可在正在后台操作时在至少两种模式下提供文本和/或图形指令。

第一,一些实施例的应用程序并入锁定屏幕背景,即包括锁定屏幕显示中的文本和图形导航描述的活动导航视图(例如,逐向视图)。利用这种展示,用户可在应用程序正在不解锁设备的情况下在后台运行时看到导航指令。在一些实施例中,应用程序还会通过向锁定屏幕显示中的抽屉发送通常将会占据导航显示所占据的空间的通知来精化锁定屏幕体验,在一些实施例中精化立即完成,而在其它实施例中,精化是在通知被显示在锁定屏幕视图上短时间段之后完成。另外,无论用户何时解锁设备,一些实施例都无动画地返回导航显示,以便使得体验是无缝的。

在一些实施例中,如果没有操纵即将发生,那么应用程序在一段时间后关闭锁定屏幕导航显示。然而,在这些实施例中的一些实施例中,当正在接近迫近的操纵和/或需要提供新的导航指令时,应用程序使屏幕亮起。相对于每个步骤的持续时间而言,此过程的时间量很小,因此显示导航指令不会以显著衰减的电池寿命为代价。为了增强体验,在一些实施例中,导航应用程序在导航提示很久之前激活环境光线传感器,使得在要显示导航地图时可使用环境光线设定使屏幕亮起达到正确的亮度。

第二,在一些实施例中,导航应用程序在后台操作,甚至是在设备解除锁定时也是如此。这是导航应用程序在执行若干其它应用程序的设备(例如,智能电话)上操作时的情况。在这种设备中,当设备正在呈现由设备的操作系统提供的视图(例如,页面)或由设备上的另一应用程序提供的视图时,导航应用程序将在后台操作。

当导航应用程序在解锁的设备上在后台操作时,在一些实施例中,该设备(1)在远离将到来的操纵时,使用双倍高度的状态条指示该导航应用程序的后台操作;并且(2)在正在接近操纵时或在引导指令可听见时,使用包括动态更新的与操纵的距离的标志样导航标幅。另外,应用程序维持标志样标幅直至操纵完成,并且抑制该空间中的其它通知。在一些实施例中,对双倍高度状态条或导航标幅的选择指引设备切换至由导航应用程序生成的导航视图。

以下另外描述一些实施例的导航应用程序的上述特征以及一些其它特征。在以上和以下的描述中,许多特征被描述为提供新型位置浏览、位置搜索、路线标识和路线导航操作的集成地图绘制应用程序的一部分。然而,普通技术人员将认识到,在其它实施例中,这些新型操作由不执行所有这些操作、或执行除了这些操作之外的其它操作的应用程序来执行。

上述发明内容旨在用作对本发明的一些实施例的简单介绍。其并非意味着对在本文档中所公开的所有发明主题进行介绍或概述。随后的具体实施方式以及在具体实施方式中所参照的附图将进一步描述发明内容中所述的实施例以及其他实施例。因此,为了理解该文档所描述的所有实施例,需要全面审阅发明内容、具体实施方式和附图。此外,受权利要求书保护的题材不被发明内容、具体实施方式及附图中的示例性细节所限定,而是被所附权利要求所限定,这是因为受权利要求书保护的题材在不脱离本题材的实质的情况下能够以其他特定形式而体现。

附图说明

在所附的权利要求中阐述了本发明的新颖特征。然而,出于说明目的,在以下附图中阐释本发明的若干实施例。

图1例示执行本发明的一些实施例的集成地图绘制应用程序的设备的实例。

图2以用户与地图应用交互以获得路线规划指向的三个阶段例示了一个示例。

图3例示一些实施例的导航应用程序提供3d控件作为用于进入3d导航模式的快速机制的方式。

图4例示一种设备,该设备显示在地图绘制应用程序从用于地图浏览的非沉浸式地图视图转变成用于导航的沉浸式地图视图时的该应用程序。

图5呈现例示虚拟相机的概念的简化实例。

图6例示一些实施例的地图绘制应用程序改变3d控件的外观以指示地图视图的不同的2d状态和3d状态。

图7例示一些实施例中的从3d模式到2d模式的切换。

图8例示通过收缩手势和展开手势对虚拟相机的距离进行的调整。

图9例示角度可通过手势来调整的相机的实施例。

图10概念性地例示一些实施例的地图绘制应用程序所提供的特征,该特征用于将虚拟相机的位置维持在沿弧的限定范围内。

图11例示一些实施例的全屏模式。

图12例示一些实施例中的在设备上的电话呼叫期间具有控件被隐藏和显示的导航应用程序。

图13例示一些实施例中的编程路线的结束。

图14例示一些实施例中的导航程序结束控件。

图15例示一些实施例中的当用户向一旁推动地图时该地图的旋转。

图16和图17例示一些实施例中的概览控件。

图18概念性地例示处理或地图渲染流水线,该处理或地图渲染流水线由一些实施例的地图绘制应用程序执行,以便渲染地图以供在客户端设备处显示。

图19a和图19b概念性地例示状态图,该状态图描述一些实施例的集成地图绘制、搜索和导航应用程序(例如,以上节段中描述的应用程序)的不同状态以及这些状态之间的转变。

图20例示一些实施例中的使用此类公路盾牌的若干gui场景。

图21例示一些实施例中的若干不同场景,其中地图绘制应用程序显示不同类型的图形指示器箭头以视觉地向用户表示操纵。

图22例示一些实施例中的相同转弯的若干场景、以及不同箭头可用于相同转弯的方式。

图23例示根据一些实施例的合成交叉点处的特定操纵的不同指令的实例。

图24例示多种不同情况下的若干不同场景,在这些场景中,地图绘制应用程序针对第一交叉点的特定操纵显示自适应指令的不同实例。

图25例示一些实施例中的其中地图绘制应用程序使用合成的指令集的另外场景。

图26以四个阶段例示用于移除导航标志并且引入下一标志的一些实施例的动画。

图27以四个阶段例示一些实施例中的这种闪光动画,这四个阶段将显示的背景例示为灰色,以便在闪光在标志上移动时与闪光形成对比。

图28以四个阶段例示一些实施例中的用于快速连续的操纵的两个标志的显示。

图29例示本发明的一些实施例中的当导航正在后台运行时的用户设备显示。

图30概念性地例示用于在导航应用程序正在后台运行时提供指引的一些实施例的过程。

图31例示一些实施例的用户界面,其中当导航应用程序正在另一个应用程序的后台运行时给出导航指令。

图32例示一些实施例中的显示在应用程序的顶部处的导航条。

图33例示一些实施例中的设备的用户界面,其中在导航应用程序正在另一个应用程序的后台运行时,设备到达其目标。

图34例示呼叫状态条和导航指令条之间的

交互。

图35例示进入锁定模式时导航应用程序在后台运行并且离开锁定模式时导航应用程序在前台运行的一些实施例的设备。

图36例示进入锁定模式时导航应用程序在前台运行并且离开锁定模式时导航应用程序在前台运行的一些实施例的设备。

图37例示本发明的一些实施例中的在锁定设备上给出指引的导航应用程序。

图38例示当设备到达其目标时的一些实施例的锁定模式视图。

图39例示一些实施例的锁定视图通知系统。

图40例示本发明的一些实施例中的在解锁设备之后查看通知消息。

图41例示本发明的一些实施例中的用于在接近导航点时打开设备屏幕的过程。

图42例示本发明的一些实施例中的在导航应用程序在后台运行时未向设备给出命令时设备所经历的多个阶段。

图43概念性地例示用于在接收到通知消息时打开屏幕的一些实施例的过程。

图44概念性地例示本发明的一些实施例中的用于执行与交互式地图的语音激活交互的过程。

图45例示本发明的一些实施例中的在锁定屏幕未活动时的用户设备。

图46例示本发明的一些实施例中的锁定屏幕活动情况下的用户设备。

图47概念性地例示本发明的一些实施例中的用于在激活锁定屏幕时提供语音激活导航的过程。

图48概念性地例示本发明的一些实施例中的用于在用户沿路线行进时接收自然语言话语并且检索和呈现用户的当前导航状态的过程。

图49例示本发明的一些实施例中的在语音激活导航期间使用自然语言话语时的用户设备。

图50例示本发明的一些实施例中的在语音激活导航期间使用自然语言话语时的用户设备。

图51例示在用户基于当前对话进行查询之后的图49的用户设备。

图52例示在用户基于当前对话进行查询之后的图49的用户设备。

图53概念性地例示本发明的一些实施例中的用于提供语音激活搜索和导航的过程。

图54a-54d例示一些实施例的用户界面的12个阶段,其中用户正在使用语音激活服务搜索感兴趣点和目标。

图55概念性地例示本发明的一些实施例中的用于提供语音激活搜索和导航的另选过程。

图56例示本发明的一些实施例中的在导航期间的用户设备。

图57例示本发明的一些实施例中的在导航期间的用户设备。

图58例示用户不想选择第一间咖啡店时的图56的用户设备。

图59a-59e概念性地例示在搜索操作期间使用的、本发明的一些实施例的语音激活服务的部分。

图60例示本发明的一些实施例中的一些实施例的用户界面的4个阶段,其中导航被并入到语音激活服务输出中。

图61概念性地例示本专利申请的一些实施例中的语音激活服务用来将导航输出并入的过程。

图62是一些实施例的移动计算设备的架构的实例。

图63概念性地例示实现本发明的一些实施例所利用的电子系统的实例。

图64例示根据一些实施例的地图服务操作环境。

具体实施方式

在本发明的以下具体实施方式中,提出并描述了本发明的许多细节、实例和实施例。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于所示出的实施例,并且本发明可在没有所讨论的具体细节和实例的情况下被实施。

i.导航用户界面

a.开始

一些实施例的导航应用程序是集成地图绘制应用程序的一部分,集成地图绘制应用程序包括若干有用模态,包括位置浏览操作、地图搜索操作、路线标识操作以及路线导航操作。在一些实施例中的该集成应用程序(以下被称为地图绘制应用程序、导航应用程序或集成应用程序)被定义来由具有显示该应用程序的输出的触敏屏幕的设备执行。在一些实施例中,此设备具有多点触摸界面,用于允许用户通过屏幕提供触摸输入和手势输入以与应用程序交互。此类设备的示例是智能电话(例如,appleinc.所销售的操作操作系统的电话、操作windows操作系统的电话等)。

图1例示执行本发明的一些实施例的集成地图绘制应用程序的设备100的实例。此图另外例示在此应用程序中开始路线导航的实例。此应用程序具有新型用户界面(ui)设计,该ui设计通过使用浮在内容顶部以便尽可能多地显示内容的最小屏幕上控件集,针对应用程序的不同模态中的每个无缝并内聚地集成控件。另外,此集适于当前任务,从而在用户在不同模态之间(例如,在浏览、搜索、路线规划和导航之间)变动时以动画的方式调整该集的内容。具有自适应性质的此公共元素允许地图绘制应用程序针对不同任务进行优化,同时当在这些任务之间进行变动时维持一致的外观和交互模型。

图1示出与地图绘制应用程序交互的六个阶段105、110、115、117、119、121。第一阶段105示出了设备的ui120,该设备的ui包括在任务栏区域125中和ui的一个页面上的若干应用程序的若干图标。在此页面上的图标中的一者是地图绘制应用程序130的图标。第一阶段示出用户通过在地图绘制应用程序在设备的屏幕上的位置处触摸接触屏幕来选择此应用程序。

第二阶段110示出在已经打开地图绘制应用程序之后的设备。如此阶段所示,地图绘制应用程序的ui具有开始页面,在一些实施例中,开始页面显示(1)设备的当前位置的地图以及(2)布置在顶部条140中并作为浮置控件的若干ui控件。如图1所示,浮置控件包括指示器145、3d控件150和翻页控件155,而顶部条140包括指引控件160、搜索栏165和书签控件170。

在一些实施例中,用户可通过在搜索栏165中键入来发起搜索。这指引应用程序呈现动画,动画(1)呈现屏幕上键盘并且(2)打开充满有价值的结果的搜索表。此表具有一些重要细节。在搜索栏被轻击时并且在词项被编辑之前,或者在搜索栏为空时,该表格包含“最近词项”列表,其在一些实施例中是用户已经请求过的最近搜索和路线指向。这使快速调出最近访问的结果非常容易。

在搜索栏上进行任何输入之后,该表被填充有来自本地来源(例如,书签、联系人、最近搜索、最近路线指引等)和远程服务器两者的搜索结果。将用户的联系人卡片并入到搜索界面中增加了另外的设计灵活性。当显示最近时,在一些实施例中,常常提供从当前位置到用户住宅的路线;但在其它实施例中,这条路线在被视为“适当”的情景下提供。另外,在一些实施例中,当搜索项匹配地址标签中的至少一部分(例如,“work”的“ork”)时,应用程序将用户的标记地址作为结果呈现在搜索表中。这些行为一起使搜索ui成为将来自多种来源的结果获取到地图上的极有力的方式。除了允许用户发起搜索之外,在一些实施例中,在一级地图视图中存在文本字段还允许用户看到对应于地图上的搜索结果的查询,并且允许用户通过清除查询来移除那些搜索结果。

书签控件170(例如,按钮)允许由应用程序对位置和路线添加书签。位置指示器145允许在地图上具体地指出设备的当前位置。一旦选择此指示器,应用程序就将设备的当前位置维持在地图的中心。在一些实施例中,指示器还可标识设备当前所指向的方向。

3d控件150是用于以三维(3d)方式查看地图或检查路线的控件。地图绘制应用程序提供3d控件作为一种进入和退出3d的快速机制。此控件还用作:(1)当前视图是3d视图的指示器;(2)3d透视图可用于给定地图视图(例如,缩小的地图视图可能并不具有可用的3d视图)的指示器;(3)3d透视图并不可用的指示器(例如,3d数据不可用于地图区域);以及(4)俯瞰动画在给定缩放水平可用的指示器。3d控件可提供对应于每个指示的不同外观。例如,3d控件在3d视图不可用时可为灰色,在3d视图可用但地图处于2d视图时可为黑色,并且在地图处于3d视图时可为蓝色。在一些实施例中,在对于地图上用户的给定缩放水平和位置有空拍图动画可用时,3d控件变为建筑物图像。

翻页控件155是通过以下方式允许应用程序最小化屏幕上控件的数目的控件:将某些不太频繁使用的动作放置在次级ui屏幕上,该次级ui屏幕是可通过显示在地图上的翻页控件来访问的。在一些实施例中,翻页永久地显示在应用程序所提供的至少一些地图视图上。例如,在一些实施例中,应用程序在允许用户浏览或搜索位置或标识路线的开始页面(第二阶段110中所例示)上永久地显示翻页。

指引控件160打开指引输入页面180,用户可通过指引输入页面180请求要在起点位置和终点位置之间标识出的路线。图1的第三阶段115例示对指引控件160的选择打开第四阶段117中所示的指引输入页面180。指引控件是可指引地图绘制应用程序标识并显示两个位置之间的路线所借助的三种机制中的一者;另外两种机制是:(1)针对地图中的所选择项目所显示的信息标幅中的控件;以及(2)显示在搜索栏165中的设备所标识的最近路线。因此,信息标幅控件和搜索栏165是应用程序采用来使不同模态之间的转变无缝的两个ui工具。

第四阶段117示出:指引输入页面180包括用于提供路线的起点位置和终点位置的起点字段和终点字段,以及列出应用程序已向用户提供的最近路线的表。此页面上的其它控件是用于以下操作的控件:启动路线;逆转起点位置和终点位置的次序;取消指引请求;获取步行、汽车或公共交通路线。这些控件和地图绘制应用程序的其它方面描述在于2012年9月30日提交的名称为“problemreportinginmaps”的美国专利申请13/632,102中。美国专利申请13/632,102以引用方式并入本文。

第四阶段例示用户选择自动填充在表182中的最近指引中的一个。第五阶段119随后在2d地图视图上显示通过页面180指定的指定起点位置和终点位置之间的三条路线。它还示出对第二路线的选择并且在版面顶部处的条中示出关于这条路线的一些信息。此条被示出为包括启动按钮和结束按钮。启动按钮被示出为在第五阶段中被选择。

如在第六阶段中所示,对启动按钮的选择指引应用程序进入逐向导航模式。在该示例中,应用程序已经进入2d逐向导航模式。在其它实施例中,应用程序将会默认进入3d逐向导航模式。在此模式下,应用程序显示逼真标志184,该逼真标志184标识导航路线中从设备的当前位置到下一交叉点操纵的距离以及一些其它相关信息。在其它实施例中,应用程序还显示:顶部条,该顶部条包括关于导航的一些信息;以及结束按钮和概览按钮,该结束按钮和概览按钮分别用于结束导航和获得导航路线的剩余部分或导航路线的整个部分的概览。

一些实施例的地图绘制应用程序使用设备在设备的位置处接收到的gps信号中的坐标(例如,经度、海拔和纬度坐标)来标识设备的位置。可替代地或相结合地,地图绘制应用程序使用其它方法(例如,蜂窝塔三角测量法)来计算当前位置。当携有设备的用户与路线偏离时,一些实施例的地图绘制应用程序追踪设备的位置并且重新计算从偏离位置开始的新路线,以便将用户从偏离位置重新导向至目标位置。换句话讲,以导航模式操作的一些实施例的地图绘制应用程序要求设备一直在路线上。

应用程序还显示上文描述的浮置3d控件和浮置列表控件。应当指出的是,列表控件在进入路线检查和路线导航模态时被自适应地添加至浮置控件集,而位置指示器在进入路线导航模态时从浮置控件中被移除。另外,在从路线检查模式转变成路线导航模式时,在一些实施例中,应用程序执行动画,动画涉及在应用程序转变至导航展示之前完全展开的翻页效果。

在一些实施例中,动画转变包括:从导航展示中移除顶部条、顶部条相关联的控件以及浮置控件,以及在开始导航展示短时间段之后将标志184移动到展示的顶部边缘。如下文进一步描述,在一些实施例中,应用程序要求用户在导航地图上轻击以使顶部条、顶部条的控件以及浮置控件返回,并且要求进行另一轻击以再次将这些控件从地图中移除。其它实施例提供用于查看和移除这些控件的其它机制。

作为允许用户获得导航体验的另一种方式,一些实施例的地图绘制应用程序在信息标幅中提供ui项目,标幅以表示感兴趣点(poi)的图钉(pin)展来呈现。图2例示了关于用户与地图应用交互以获得路线规划指向的三个阶段205-215的一个示例。此实例在使用汽车图标230的情景下提供。

第一阶段205以3d地图视图例示地图。如图所示,3d控件250呈现为被加亮以指示地图处于3d地图视图。第一阶段205还例示了通过运行如图所示的搜索查询为“pizza”的搜索而得到的用于搜索的两个图钉的两个信息标幅。用户选择汽车图标230。如上所述,汽车图标230用于示出通向图钉所表示的位置的一条或多条路线,该图钉与包括汽车图标230的标幅相关联。包括汽车图标230的标幅240还示出地点的简述、星级以及用于开启poi的“平台”的箭头。

第二阶段210例示一些实施例的地图绘制应用程序响应于先前阶段205中对汽车图标230的选择所示出的两条路线,即路线1和路线2。用户已经选择路线1,如由路线1上的加亮区所指示。用户还选择了启动按钮。如上所述,在一些实施例中,启动按钮用于根据所选择的路线启动导航。

第三阶段215例示地图绘制应用程序显示指令标志260,指令标志260是第一指令的标志。地图绘制应用程序已经在顶部条140中用结束按钮270和概览控件275来替换清除控件255和启动按钮。结束按钮用于结束路线的导航,并且概览控件275用于在地图视图中示出整个路线,如果示出整个路线必须调整缩放水平,那么通过调整所显示地图的缩放水平来示出整个路线。在一些实施例中,地图绘制应用程序在顶部条140中显示eta、即到达目标的时间量,以及距目标的剩余距离,如图所示。

当地图绘制应用程序接收对结束按钮的选择、同时地图绘制应用程序在路线检查模式下操作时,一些实施例的地图绘制应用程序通过返回地图浏览模式来停止对所选择的路线的检查。一些实施例的地图绘制应用程序通过以下方式返回地图浏览模式:从地图中移除所选择的路线,撤销翻页,以及用包括指引控件、搜索栏和书签控件的一组其它控件来替换顶部条中的信息和控件。即,地图绘制应用程序使得ui页面的外观返回类似第一阶段205中示出的ui页面的ui页面。一些实施例的地图绘制应用程序在从检查模式切换至地图浏览模式时并不使地图朝另一区域偏移。

b.2d和3d导航

一些实施例的导航应用程序可以2d模式或3d模式显示导航。如上所述,浮置控件中的一个是允许用户查看三维(3d)导航展示的3d控件250。图3例示一些实施例的导航应用程序将3d控件250提供作为用于进入3d导航模式的快速机制的方式。这个图在三个阶段305-315中例示了这个操作。第一阶段305例示用户在查看二维导航展示时选择3d控件150。

第二阶段310例示应用程序转变至3d展示的过程中的导航展示。如此图中所示,3d控件在此阶段呈现为被加亮,以便指示导航展示已经进入3d模式。如上所述,在一些实施例中,导航应用程序通过从三维场景中的特定位置渲染地图视图来生成导航地图的3d视图,该特定位置可概念性地被认为是捕获地图视图的虚拟相机的位置。以下参照图5来进一步描述这种渲染。

随后,第三阶段315例示该应用程序转变至其3d外观结束时的导航展示。如第二阶段和第三阶段中建筑物的高度之间的差异所示,在一些实施例中,从2d导航转变至3d导航包括示出导航地图中的三维对象正在变大的动画。生成示出对象上升/下降和变大/变小的此类动画进一步描述在于2012年9月30日提交的名称为“displaying3dobjectsina3dmappresentation”的美国专利申请13/632,027中。美国专利申请13/632,027以引用方式并入本文。

一些实施例使用从2d地图视图到3d地图视图或反之亦然的电影式转变。例如,当地图绘制应用程序在示出路线的起点位置时接收对3d控件250的选择时,地图绘制应用程序从2d地图视图开始,并且从2d第一虚拟相机视图平滑地转变至新的虚拟相机3d视图,该3d视图更加放大并且指向路线的起点方向。如此,虚拟相机执行平移、缩放和旋转操作的组合以便到达导航的路线的起点。即,虚拟相机沿弧移动,并且在该相机沿弧向下移动时向上旋转。另外,地图绘制应用程序可旋转该弧自身,以使虚拟相机视点与路线的初始路段对准。换句话讲,地图绘制应用程序在电影式转变期间使地图旋转。

图4例示一种设备400,该设备400以六个阶段405-430显示在地图绘制应用程序从用于地图浏览的非沉浸式地图视图转变成用于导航的沉浸式地图视图时的该应用程序。

第一阶段405例示了用户为位置“pizzaplace”选定了快速路线按钮以便生成从用户的当前位置(设备400的屏幕中央附近)到所选位置的路线。第二阶段410例示了地图绘制应用程序显示到达位置“pizzaplace”的路线435。在第二阶段410,用户选择了“启动”ui控件440。因此,应用程序开始进入导航。

如图所示,在第三阶段415至第六阶段430,一些实施例使用从2d(或3d)非沉浸式地图视图到3d沉浸式地图视图的电影式转变。应用程序显示从其当前状态(在410示出)开始,并且从第一虚拟相机视角平滑地转变至新的虚拟相机视角,新的虚拟相机视角更加放大并且指向路线的起点方向。如此,虚拟相机可执行平移、缩放和旋转操作的组合以便到达导航的路线的起点。如图所示,在这些阶段中,虚拟相机移动并旋转到其最终位置,该最终位置在第六阶段430中示出的导航位置指示器(即,指向器)后方。

另外,在一些实施例中,地图绘制应用程序提供两种不同类型的3d展示——沉浸式3d展示和非沉浸式3d展示。在一些实施例中,沉浸式展示不仅显示更多几何形状,而且显示关于非沉浸式展示中显示的几何形状的更多细节。地图绘制应用程序还提供非沉浸式展示和沉浸式展示之间的平滑转变。

为实现这种平滑转变并且生成其它新型效果,一些实施例的地图绘制应用程序使用新型图像处理流水线。该流水线执行多种预载操作,以便下载、检索和/或解压缩导航展示可能需要的地图片,为其渲染操作准备其渲染流水线,并且准备复式流水线来在沉浸式3d展示和非沉浸式3d展示之间平滑转变。为了显示沉浸式和非沉浸式3d地图展示,一些实施例必须生成多个图块供客户端设备呈现以便生成道路、建筑物和周围景物。在一些实施例中,此类图块的示例包括用于非沉浸式3d展示的道路和建筑物图块、和用于沉浸式3d展示的导航和建筑物图块。此流水线描述在上文所并入的于2012年9月30日提交的名称为“problemreportinginmaps”的美国专利申请13/632,102中。此流水线另外详细描述在于2012年9月30日提交的名称为“virtualcamerafor3dmaps”的美国专利申请13/632,040中。美国专利申请13/632,040以引用方式并入本文。

在一些实施例中,非沉浸式查看模式和沉浸式查看模式是用于查看具有不同构建体和/或几何形状的不同3d地图的查看模式。例如,一些实施例的非沉浸式查看模式用于查看包括道路、建筑物、土地覆盖等的3d地图。沉浸式查看模式用于查看更详细的3d地图,该3d地图包括与用于非沉浸式查看模式的3d地图相同或类似的元素(例如,道路、建筑物、土地覆盖等)。然而,这种更详细的3d地图还包括提供更逼真且丰富的3d地图的更高程度细节构建体(例如,树木、叶、人行道、路中部分、道路的车道、路面沥青、路中部分、人行横道等)。

此外,非沉浸式查看模式和沉浸式查看模式可限定用于在不同范围的缩放水平下查看3d地图。例如,一些实施例的非沉浸式查看模式限定用于在低缩放水平(例如,缩放水平0-14)下查看3d地图,而一些实施例的沉浸式查看模式限定用于在高缩放水平(例如,缩放水平16-21)下查看3d地图。在不同实施例中,查看模式可限定在任何数目的不同缩放水平下查看。在一些情况下,与针对非沉浸式查看模式所限定的缩放水平相比,沉浸式查看模式的缩放水平的范围限定为更高缩放水平、更低缩放水平、相同缩放水平,或者限定为与针对非沉浸式查看模式所限定的缩放水平重叠的缩放水平。这些查看模式和地图绘制应用程序的其它方面描述在上文所并入的于2012年9月30日提交的名称为“virtualcamerafor3dmaps”的美国专利申请13/632,040中。

1.虚拟相机

一些实施例的导航应用程序能从多个视点显示导航地图。应用程序可以三维(3d)或以二维(2d)显示地图。3d地图是所生成的对如由虚拟相机所看到的虚拟场景的模拟。图5呈现例示虚拟相机512的概念的简化实例。当渲染3d导航地图时,虚拟相机是3d地图场景中的位置的概念化,设备从该位置渲染场景的3d视图。图5例示包括四个对象、即两座建筑物和两条交叉道路的3d导航地图场景510中的位置。为例示虚拟相机概念,此图例示三个场景,每个场景对应于不同虚拟相机位置(即,不同渲染位置)和显示在设备上的不同所得视图。

第一阶段501示出虚拟相机512位于第一位置处,以一角度(例如,30度角度)朝下指向3d场景510。通过从阶段501中示出的位置和角度渲染3d场景,应用程序生成3d地图视图518。从此位置,相机指向一个位置,即设备前方的移动位置。虚拟相机512保持位于设备的当前位置后方。“在当前位置后面”在该情况下意味着沿导航应用程序的所定义路径反向,该导航应用程序的所定义路径在与设备移动所在的当前方向相反的方向上。

导航地图视图518看起来像是由相机从设备的位置指示器516的后上方拍摄。虚拟相机的位置和角度使位置指示器516位于导航地图视图518的底部附近。这还导致屏幕的大部分被设备现在位置前方的街道和建筑物填满。相比之下,在一些实施例中,位置指示器516位于屏幕的中心,屏幕的一半表示设备前方的事物,而另一半表示设备后方的事物。为简化该图,并未针对视图518、528和538描绘道路标志。

第二阶段502示出虚拟相机512位于不同位置处,以较大的第二角度(例如,-45°)朝下指向场景510。应用程序从此角度渲染场景510,从而产生3d导航地图视图528。建筑物和道路都小于它们在第一导航地图视图518中的图示。虚拟相机512再次位于场景510中的位置指示器516的后上方。这再次使得位置指示器显现在3d地图视图528的下部中。相机的位置和取向同样再次使得屏幕的大部分显示位置指示器516(即,携有设备的汽车的位置)前方的事物,这是进行导航的人需要知道的内容。

第三阶段503示出虚拟相机512处于俯视视角,向下观看用于渲染3d视图518和528的3d地图场景510中的位置。从此视点所渲染的场景是2d地图视图538。不像在一些实施例中是透视3d渲染操作的第一阶段和第二阶段的3d渲染操作,第三阶段中的渲染操作相对简单,因为它仅需要修剪由应用程序或用户所指定的缩放水平来标识的2d地图的一部分。因此,在这种情况下,虚拟相机表征一定程度地使对应用程序的操作的描述不必要地复杂,因为修剪2d地图的一部分不是透视渲染操作。

在第三阶段503,在一些实施例中,在相机从3d透视视角切换至2d俯视视角时,地图绘制应用程序自从特定视点方向渲染3d场景切换至修剪2d场景。这是因为在这些实施例中,应用程序被设计成使用简化渲染操作,这种简化渲染操作更为容易并且不会生成不必要的透视伪像。然而,在其它实施例中,地图绘制应用程序使用透视渲染操作来从俯视虚拟相机位置渲染3d场景。在这些实施例中,所生成的2d地图视图一定程度地不同于第三阶段503中例示的地图视图538,因为远离视图中心的任何对象已失真,失真越大,对象与视图中心的距离越远。

虚拟相机512在不同实施例中沿不同轨线移动。图5中例示两条这样的轨线550和555。在这两条轨线中,相机沿弧移动,并且在相机沿弧向上移动时向下旋转。轨线555与轨线550的不同之处在于:在轨线555中,相机在其沿弧向上移动时从当前位置向后移动。

当沿弧中的一条移动时,相机旋转以维持位于位置指示器前方的点处于相机的焦点处。在一些实施例中,用户可关闭三维视图并且采用纯粹的二维视图。例如,一些实施例的应用程序允许通过使用3d按钮560来打开和关闭三维模式。3d按钮560对于逐向导航特征而言必不可少,在逐向导航特征中,3d按钮560具有指示器和开关的作用。当3d关闭时,相机将维持2d导航体验;而当3d打开时,在3d查看角度不适当时(例如,在围绕在3d模式下将被遮挡的拐角行走时)可能仍存在一些俯视视点。

2.3d控件

图6以六个不同阶段605-630例示一些实施例的地图绘制应用程序改变3d控件的外观以指示地图视图的不同的2d和3d状态。第一阶段605例示地图绘制应用程序正在显示地图和包括3d控件150的浮置控件。地图绘制应用程序正在某一低缩放水平下以2d模式显示地图(地图尚未放大太多),如图所示。3d控件150使用第一外观(例如,灰色字母“3d”)来显示,以便指示3d地图数据在这个特定缩放水平下不可用。第一阶段605还显示了地图应用正在接收用户的放大地图(即提高缩放水平)的手势输入。

第二阶段610示出地图绘制应用程序正在高于其在先前阶段605所处的缩放水平下显示地图。然而,3d控件150保持第一外观,因为3d地图数据即使在此特定较高缩放水平下也仍然不可用。第二阶段610还示出地图绘制应用程序正在接收对地图进行进一步放大的用户手势输入。

第三阶段615示出地图绘制应用程序正在高于其在先前阶段610所处的缩放水平下显示地图。地图应用已经将3d控件150的外观改变为第二外观(例如黑色字母的“3d”)以指示在这个缩放水平有3d地图数据可用。当地图绘制应用程序接收对3d控件150的选择时,一些实施例的地图绘制应用程序将会将3d控件150的外观改变成第三外观(例如,蓝色字母“3d”)并且以3d模式显示地图(例如,通过从用于2d的笔直向下视图改变成透视图)。第三外观因此将指示地图是以3d模式来显示。第三阶段615示出地图绘制应用程序正在接收将地图更进一步放大至更高缩放水平的另一手势输入。第三阶段615示出地图绘制应用程序正在这个缩放水平下将地图中的建筑物显示为灰色框。

第四阶段620示出地图绘制应用程序正在高于其在先前阶段615所处的缩放水平下显示地图。地图绘制应用程序已将3d控件150的外观改变成第四外观(例如,呈第一颜色的建筑物图标,如图所示),以便指示用于渲染沉浸式3d地图视图的3d沉浸式地图数据在此缩放水平下可用。第四阶段620还示出一些实施例的地图绘制应用程序正在接收对3d控件150的选择。

第五阶段625和第六阶段630示出地图绘制应用程序在其开始提供3d沉浸式地图视图后提供的后续视图(虽然不一定是连续视图)。在一些实施例中,缩放水平在第五阶段和第六阶段之间并未改变,但是地图视图中的建筑物的高度增大,以提供传达视图正从2d视图变动成3d沉浸式地图视图的动画。另外,从第四阶段620到第五阶段625,地图绘制应用程序已将3d控件的外观改变成第五外观(例如,呈第二颜色的建筑物图标,如图所示),以便指示地图是以3d沉浸式视图来显示。

3.视图的自动改变

一些实施例的应用程序允许使用任何特定虚拟相机角度,而不仅是这里指定的30度和60度角度。一些实施例的应用程序允许用户设定相机的向下角度。一些实施例的应用程序出于各种原因(例如,为保持特定焦点位于屏幕的顶部附近)而自动调整相机的角度。在其它实施例中,导航应用程序自动设定相机的角度,但允许用户覆写自动设定的角度。

在一些实施例中,当以3d模式运行导航应用程序的设备将要到达具有转弯的交叉点时,导航应用程序切换至2d模式,以便使用户能够更清楚地标识转弯。图7例示一些实施例的从3d模式到2d模式的切换。该图以五个阶段701-705示出。在阶段701中,应用程序以3d视图示出导航地图。导航框710示出在50英尺之后右转。地图712呈3d形式,位置标识符714也是如此。

当设备在阶段702中接近交叉点时(如由导航框720所指示),3d地图712切换成2d地图722,其中位置指示器724也呈2d形式。地图绘制应用程序还改变3d控件150的外观,以便指示地图现在呈2d形式。地图722在设备在阶段703中绕过拐角时保持呈2d形式。在设备绕过拐角时,阶段703中具有指令“右转到a大街”的导航框730被替换成阶段704中具有指令“沿a大街继续直行0.5英里”的导航框740。地图在阶段704中保持为2d,直到该拐角已经完全被导航,在那时,在阶段705,地图返回到3d视图,在导航框750中具有新的指令“0.3英里后,目的地将在您左侧”。地图绘制应用程序还改变3d控件150的外观,以便指示地图现在返回呈3d形式。

在一些实施例中,导航应用程序针对每一位置更新(例如,每秒一次)确定以下五条信息中的一些或所有信息。第一,导航应用程序确定参考点的位置(即,用户的位置)。

第二,导航应用程序确定虚拟相机的焦点的位置,该位置用于确定虚拟相机可能面对的方向。如果用户偏离路线,焦点将沿用户的行进方向(如果可确定用户的行进方向)在用户前方的固定距离处,或在用户北方的固定距离处(如果无法确定用户的行进方向)。如果用户在路线上,焦点将沿路线在用户前方的固定距离处,其中从用户到此焦点的向量与用户的行进方向之间的角度限制在最大值。这允许虚拟相机在用户实际转弯之前稍微窥视转弯的四周。例如,如果路线在前方不久的拐角转弯,则聚焦点将为从设备的当前位置起围绕拐角的点。由于使虚拟相机转动以面对该实际点可导致虚拟相机直接面对建筑物,虚拟相机就其可沿目前方向看到多远距离受到限制。第三,导航应用程序确定感兴趣点的位置(例如,即将到来的交叉口的位置)。

第四,导航应用程序确定虚拟相机查看样式(居中俯视、向前俯视、或屋顶)。“居中俯视”是指虚拟相机应笔直向下看用户的位置,使得用户的位置位于屏幕中心。“向前俯视”是指虚拟相机应笔直向下用户的位置,使得用户的位置朝向屏幕底部。“屋顶”是指虚拟相机应位于用户的位置后方并且倾斜,使得其沿从用户的位置到焦点的向量向前看。如果用户偏离路线或无法确定用户的行进方向(例如,当用户停车时),虚拟相机将采用居中俯视查看样式。否则,查看样式将由用户是否已经请求“2d”导航来确定。如果用户已经请求2d导航,查看样式将是向前俯视。否则,查看样式将是屋顶。

第五,导航应用程序确定虚拟相机聚焦样式(例如,巡航聚焦或硬聚焦)。“巡航对焦样”式是指虚拟相机应该基于视图样式采用预设高度和俯仰角度。“硬聚焦”是指虚拟相机应调整其高度(在居中俯视或向前俯视查看样式的情况下)或俯仰角(在屋顶查看样式的情况下),使得给定感兴趣点正好在屏幕上(即,在用户接近感兴趣点时,虚拟相机应聚焦于感兴趣点上)。当远离交叉口时,导航应用程序使虚拟相机处于巡航聚焦模式。当接近“有趣的”交叉口时,导航应用程序使虚拟相机处于如上所述的硬聚焦模式,并且交叉口的位置(感兴趣点)将被传送到虚拟相机。当在硬对焦模式中时,该应用调节虚拟相机的高度(在俯视居中或俯视向前视图样式的情况下)或俯仰(在屋顶视图样式的情况下),使得交叉口位于屏幕上适当的位置处。使用用户将离开交叉口时所处的角度来确定给定交叉口是“有趣”到足以聚焦在其上。如果角度足够大(例如,向右转90度),交叉口被认为是“有趣”并且虚拟相机将聚焦在交叉口上。如果角度太小(例如,并上高速公路),虚拟相机将停留在巡航聚焦样式。

根据这五条信息,导航应用程序计算虚拟相机的期望位置和取向。根据期望位置和取向,可求出以下三个关键点的位置:(1)虚拟相机的位置,(2)虚拟相机的向前向量与地面之间的交叉点,以及(3)沿虚拟相机的右向量的点。这三个点彼此独立地如下来动画绘制:(1)当新点可用时,应用程序拟合最近估评位置/该点的切线与新点之间的三次多项式;并且(2)针对动画绘制的每个步骤,导航应用程序评估每条曲线的三次多项式,并且根据三次多项式求出虚拟相机位置和取向。

4.用户对相机高度的调整

除了(或代替)使导航应用程序控制相机(例如,在围绕拐角行走时从3d转到2d),一些实施例还允许用户调整相机的水平。一些实施例允许用户用两指做出命令手势,以便调整相机的距离(高度)和角度。一些实施例甚至允许多种类型的手势来控制相机。图8例示通过收缩手势和展开手势对虚拟相机的距离进行的调整。该图以三个阶段801-803示出。在阶段801中,应用程序示出虚拟相机812处于默认3d查看水平情况下的基本场景810以及从场景810渲染的屏幕视图814。基本场景包含两个建筑物和一个t形交叉点。在阶段801中,建筑物是从45度向下角度并且以使得建筑物看起来为特定尺寸的特定高度来查看。位置指示器816也被显示为具有特定尺寸。

在阶段802中,用户通过以下方式做出手势:使两个指尖在设备的屏幕上、即在屏幕视图824上位于彼此附近,并且在指尖位于屏幕上时使指尖移动分开。使指尖移动分开具有使地图(指间部分和地图的其余部分两者)变大的作用。为了使地图中的事物看起来更大,应用程序使得虚拟相机812放大。在一些实施例中,地图绘制应用程序使用来使虚拟相机812沿着移动的线850是由虚拟相机812的前部和虚拟相机812的焦点形成的线。一些实施例的地图绘制应用程序基于用户的输入使虚拟相机812沿由虚拟相机812的前部和3d地图810中的一个位置形成的线移动,以便放大3d地图810的视图。

在阶段802的放大之后,用户决定在阶段803进行缩小。在此阶段中,用户使两指位于屏幕上并且使得手指更靠近在一起。使得手指更靠近在一起具有使地图(指间部分和地图的其余部分两者)收缩的作用。缩小调整通过使虚拟相机812沿线855移动离3d地图810更远来实现。在一些实施例中,地图绘制应用程序用来移动虚拟相机812所沿的线855是由虚拟相机812的前部和虚拟相机812的聚焦点形成的线。一些实施例的地图绘制应用程序基于用户的输入使虚拟相机812沿由虚拟相机812的前部和3d地图810中的一个位置形成的线移动,以便放大3d地图810的视图。

在此位置使用虚拟相机812渲染3d地图视图产生3d地图视图834,其中建筑物和道路看起来比3d地图视图824中例示的位置更远。如由虚拟相机812的虚线型式所示,虚拟相机812沿线855移动离3d地图810更远。

除了可通过放大和缩小控制之外,一些应用程序允许用户改变虚拟相机的角度。图9例示角度可通过手势来调整的相机的实施例。该图以三个阶段901-903示出。在阶段901中,相机以45度向下指向场景910。场景910包含屏幕视图914中示出的两个建筑物和一个t形交叉点。建筑物是从特定角度并且以特定尺寸示出。位置指示器916也被显示为具有特定尺寸。

在阶段902中,用户已使两指920彼此近似水平地位于屏幕上并且向上拖动它们。这具有使用手指向上拖动场景的明显作用。场景上升通过虚拟相机912下降并且将其视角从45度改变成30度来实现。在屏幕视图924中,建筑物和位置指示器看起来比阶段901中高。

在用户在阶段902中向上拖动场景之后,用户随后在阶段903中向下拖动场景。为此,用户再次使两指930位于屏幕上并且向下拖动它们。这使场景随着手指930一起向下拖动。场景下降通过虚拟相机912上升并且将其向下与场景910所成的角度改变成60度来实现。在阶段903中,相机912已经向上移动更远,并且比在阶段901中向下成更大角度。因此,建筑物和位置标识符916在阶段903中同样看起来比在阶段901中更矮且更小。

在一些实施例中,地图绘制应用程序针对不同操作(例如,平移、旋转、从2d进入到3d)提供一种惯性效应。当用户提供特定类型的输入(例如,以比阈值速度大的速度终止的输入)来使3d地图平移时,地图绘制应用程序产生使得3d地图继续平移并且减速直至止点的惯性效应。在一些实施例中,惯性效应为用户提供模仿现实世界中的行为的与3d地图的更真实交互。惯性效应和惯性效应的具体实施的细节描述在以上所并入的名称为“virtualcamerafor3dmaps”的美国专利申请no.13/632,040中。

一些实施例的应用程序允许相机的距离和角度被独立地控制。例如,应用程序允许由收缩和展开手指手势来控制距离,并且允许通过拖动水平放置的手指来控制角度。其它实施例使用正在执行的任一手势来设定相机的距离或角度,而其它变量自动地被设定。虽然图8和图9示出在某一方向上执行手势从而引起某些结果,但在一些实施例中,可使这些手势中的一者或两者颠倒。例如,在一些实施例中,向下拖动水平放置的手指可使相机向下而非使场景向下。这将具有以下作用:在手指向上移动时使场景向下移动,在手指向下移动时使场景向上移动。

图10概念性地例示一些实施例的地图绘制应用程序所提供的特征,该特征用于将虚拟相机的位置维持在沿弧的限定范围内。具体地,图10例示了在三个不同阶段1005-1015的虚拟相机1000,这三个不同阶段显示了保持在弧线1050的限定范围内的虚拟相机1000的位置。如图10所示,3d地图1035中的位置包括两个建筑物和形成一个t形交叉点的两条道路。

第一阶段1005示出虚拟相机1000沿弧1050处于特定位置。如图所示,弧1050表示限定范围(例如,角度范围),虚拟相机1000在该限定范围内是可移动的。第一阶段1005还示出沿弧1050的三个位置1055-1065(例如,透视视角角度)。在该示例中,地图绘制应用程序使虚拟相机1000沿弧1050在弧1050的高视点端(例如,在虚拟相机1000最大程度地向下倾斜时沿弧1050的位置)与位置1055之间移动,其方式类似于以上参考图9所述的方式。在第一阶段1005中基于虚拟相机1000的位置渲染3d地图视图产生3d地图视图1025。

当虚拟相机1000在朝向弧1050的低视点端移动时经过位置1055时,地图绘制应用降低虚拟相机1000朝向弧1050的低视点端移动的速度(例如,减速),而不管用户所提供的输入。在一些实施例中,地图绘制应用程序以恒定速率降低虚拟相机1000的速度;而在其它实施例中,地图绘制应用程序以指数速率降低虚拟相机1000的速度。在一些实施例中,使用用于减小虚拟相机1000的速度的另外和/或不同方法。

第二阶段1010示出已经使虚拟相机1000沿弧1050移动至在弧1050的低视点端处或附近的位置。如图所示,用户正在提供输入以便通过以下方式调整3d地图1035的视图的视点:使两指触摸在屏幕上并且在向上方向上拖动两指(例如,横扫手势)。响应于该输入,地图绘制应用程序使虚拟相机1000朝向弧1050的低视点端移动,同时使虚拟相机1050向上倾斜。当虚拟相机沿弧1050到达位置1065时,地图绘制应用程序阻止虚拟相机1000更向下移动并超过位置1065,即使在用户继续提供用于减小3d地图1035的视图的视点的输入(例如,用户继续在触摸屏上向上拖动两指)时也是如此。

在一些实施例中,当用户停止提供用于减小3d地图1035的视图的视角的输入(例如,用户将两指从触摸屏抬起)时,地图绘制应用程序使虚拟相机1000的位置沿弧1050从位置1065向上“回弹”或“回跳”到位置1060。当地图绘制应用程序正在回弹或回跳运动期间基于虚拟相机1000的视角生成或渲染3d地图1035的3d地图视图时,所生成的3d地图视图提供简要显示3d地图视图的向下回弹或回跳的回弹动画,以向用户指示地图视图的视点无法更进一步减小。使用定位成具有此角度的虚拟相机1000来渲染3d地图视图产生3d地图视图1030,与地图视图1025相比,3d地图视图1030中建筑物和道路更高。

第三阶段1015示出在地图绘制应用程序已响应于用户停止提供输入而使虚拟相机1000的位置回弹或回跳至位置1060之后的虚拟相机1000。不同实施例使用用于实现虚拟相机1000的回弹或回跳的不同技术。例如,一些实施例的地图绘制应用程序开始使虚拟相机1000沿弧1050快速加速达到限定距离,或直至虚拟相机1000达到限定速度。随后,地图绘制应用程序使虚拟相机1000沿弧1050在到位置1060的剩余距离上减速。在一些实施例中,使用实现回弹或回跳效果的其它方式。在第三阶段1015中使用沿弧1050定位在位置1060处的虚拟相机1000来渲染3d地图视图产生3d地图视图1040,与地图视图1030相比,3d地图视图1040中的建筑物看起来稍小且稍平并且道路看起来稍小。

如上所述,图10例示一种用于阻止虚拟相机移动超过弧的低视点端的技术。另选地或结合阻止虚拟相机移动超过弧的低视点端,一些实施例的地图绘制应用程序利用用于阻止虚拟相机移动超过弧的高视点端的类似技术。此外,图10示出以下位置的示例:沿弧的使虚拟相机减慢的位置、沿弧的阻止虚拟相机移动经过的位置、以及沿弧的虚拟相机往回回跳或回弹到的位置。不同实施例以任何数目的不同方式限定位置。例如,在一些实施例中,沿弧的使虚拟相机减慢的位置与沿弧的虚拟相机回跳或回弹到的位置相同或在其附近。

c.其他用户交互

1.控件的显现和消失

一些实施例的应用程序在导航时具有全屏模式。即,在指引的实际提供期间,通常占据一部分屏幕表面的控件被隐藏。图11例示一些实施例的全屏模式。该图以六个阶段1101-1106示出。在阶段1101中,通过选择启动按钮1110来激活导航指令集。通过选择启动按钮,用户从两条可能路线中选择加亮路线。未加亮的路线消失,并且较小比例尺导航地图1121在阶段1102中显现。第一阶段1101示出道路名称在道路上,这是因为地图绘制应用程序正在显示地图视图。第一阶段1101还示出了位置控件1130因地图绘制应用程序正在显示地图视图而显示出来。对列表控件1132的选择将会使得地图绘制应用程序以列表格式显示可用路线。

另外在阶段1102中,连同结束控件1122、行程状态区域1124(包括eta、行程持续时间估计值以及计划路线指示器的距离)、概览按钮1126、状态条1127和3d控件1128示出第一指令1120。结束按钮1122结束导航指令的运行。状态区域1124显示关于计划路线的信息。概览按钮1126显示对路线的概览。3d控件是导航应用程序正在以3d模式还是以2d模式示出场景的指示器以及用于进入和离开3d模式的开关。在此阶段对列表控件1132的选择将会使得地图绘制应用程序以列表格式显示导航指令集。此阶段还示出道路名称被显示在标幅中而不是在道路上,这是因为地图绘制应用程序正在以导航模式操作。

在短暂时间之后,结束控件1122、列表控件1132、状态区域1124、概览按钮1126和3d控件1128消失。在一些实施例中,控件突然消失;而在其它实施例中,控件逐渐淡出。在一些实施例中,在屏幕的顶部的状态条1127也会消失,并且导航框1120移动到屏幕的顶部。

在阶段1103中示出控件的不存在和导航框1120的移动,其中看到导航地图1121上除上升的导航框1120之外不具有控件。在一些实施例中,用户可通过轻击屏幕来恢复隐藏的控件。这在阶段1104和1105中演示。在阶段1104中,用户用手指1140轻击屏幕。在阶段1105中,由于前一阶段中的轻击,控件返回并且导航框1120向下退回至其初始位置。恢复的控件包括结束控件1122、状态区域1124、概览按钮1126、状态条1127和3d控件1128。一旦控件返回,用户就可通过轻击来使控件再次消失,如在阶段1105中所示,其中用户用手指1150轻击屏幕来将导航应用程序恢复成阶段1106中的全屏模式。在一些实施例中,除了隐藏的控件之外,与地图的触摸交互在全屏模式下受到很大限制。在一些实施例中,存在更多在一些模式下被显示但是在全屏模式下被隐藏的控件(例如,列表控件)。

在一些实施例中,当控件被显示并且状态条有附加内容(例如,示出正进行的呼叫的时长的电话呼叫状态条)时,导航框被缩短以便为扩展的状态条制造更多空间。这在图12中示出,图12例示在设备上的电话呼叫期间具有控件被隐藏和显示的导航应用程序。图12包括阶段1201和1202。在阶段1201中,导航应用程序的控件是隐藏的,并且导航框1210和地图1215是可见的。用户用手指1217在触摸屏上轻击以命令导航应用程序显示其控件。在阶段1202中,导航应用程序显示其控件1220并且还显示位于状态条1224下方的电话呼叫状态条1222。导航应用程序由于电话呼叫状态条1222而具有较少空间。为了补偿可用于导航应用程序的较小量的屏幕区域,一些实施例的导航应用程序在电话呼叫状态条1222在屏幕上时使导航框1210收缩。在一些实施例中,当导航框收缩时,框中的文本和/或方向箭头被更改以配合可用于文本和箭头的减小量的区域。

2.导航结束

在由导航应用程序运行导航指令集的普通过程中,在设备到达需要导航指令的每个新的交叉点时,用于下一这种交叉点的指令显现。这会继续,直至设备到达它的目标。当到达目标时,导航应用程序停止提供指令并且所编程路线的延伸结束。图13以四个阶段1301-1304例示所编程路线的结束。在阶段1301中,应用程序正在控件被隐藏的情况下运行,并且导航框1310正在示出距离目标仅1000英尺。在地图上,目标被显示为具有圆头的图钉1312。然而,本领域的普通技术人员应当理解,可在其它实施例的应用程序中使用其它符号,并且在一些实施例中,并不使用符号,而只是线条终结。当设备移动更靠近设备的目标时,导航应用程序倒计距离。在阶段1302中,导航框1320示出去往目标仅有100英尺。在阶段1303中,设备刚刚到达设备的目标。导航框1330指示目标位于左侧并且包括指向靶中心的箭头的符号。之后,在阶段1304中,在设备已经到达设备的目标时,导航应用程序关闭导航框1320,从而给用户留下地图1340而无另外指引。

在一些实施例中,目标可能在无法通过汽车到达的地方,例如,终点图钉可能在公园中间。在一些这样的实施例中,驾驶指引将会结束,但将存在用于步行的继续指引。在其它这样的实施例中,应用程序将不给出用于步行的文本指引,但是在以地图模式或以锁定模式显示地图时仍将图钉维持在该位置(例如,公园中间)上。在一些这样的实施例中,行程的机动车部分结束之后的最后指令将是一个指引“请步行到达”。

图13例示在导航应用程序全程将用户引导到用户的最终目标时所发生的情况。然而,在一些实施例中,用户可改变用户关于获得指引的想法。用户可能想要停止沿着路线走、改变目标、或因一些其它原因而可能想要结束导航指令集的运行。因此,一些实施例的该应用包括“结束”按钮。结束按钮停止导航指令集的运行,并且在一些实施例中使得用户处于与他们已经到达目标(例如,没有指令但有地图)时相同的状况。图14例示导航程序结束控件。该图以两个阶段1401和1402示出。阶段1401示出具有其控件可见的导航应用程序。这些控件包括“结束”按钮1410。用户正在用手指1412轻击按钮。导航应用程序距其目标很远,如由表明距下一交叉点20英里的导航框1414和延伸到位置指示器1418的前方一定距离的路线1416所指示。在阶段1402中,由于用户已经轻击结束按钮1410,导航框1414消失,路线1416同样如此。位置指示器1418也在此阶段中消失,被替换为球形位置指示器1428。

3.用于在导航期间看到路线一侧的手势

如上所述,虚拟相机的默认行为是沿循设备位置通过虚拟世界并且在设备正在移动的方向上向下指向,或者至少到其路线的设备当前位置前方很近的一部分。然而,并非总是期望使相机指向正前方。有时,用户反而想要相机指向一定角度。因此,一些实施例的导航应用程序在用户向一旁拖动地图时使虚拟相机四处旋转。

图15例示当用户向一旁推动地图时的地图的旋转。该图包括四个阶段1501-1504。在阶段1501中,应用程序被示出为处于其默认模式下,其中街道1510(主街)和当前路线1512平行于屏幕的侧边在3d地图1514上延伸。在这个阶段1501中,用户开始向左推动地图。在下一阶段1502中,虚拟相机已经移动到左侧并旋转到右侧。即,3d地图1514已经改变,好像虚拟相机已经移动到左侧并旋转到右侧一样。已经旋转的地图1514现在示出位于街道右侧的建筑物的样子。在一些实施例中,地图将旋转的程度存在最大阈值。在一些实施例中,除了能够使地图左右移动之外,用户可移动到位于位置指示器稍前方或稍后方的视图(例如,通过用一个手指向下或向上拖动)。在一些这样的实施例中,地图通过拖动可向前或向后移动的量也受到限制。

在例示的实施例中,在用户正向左(或向右)拖动地图时、或在之后短时间内(例如,利用模拟惯性),应用程序仅使建筑物旋转。一旦用户停止拖动地图1514、或保持用户的手指在适当的位置以将地图1514保持在适当的位置,地图1514就还原到其在相机正在拍摄的路线的方向上的默认视图。这在阶段1503中示出,其中用户已经停止拖动地图1514,并且虚拟相机在设备在设备的路线上移动时旋转和/或移动返回虚拟相机位于设备正后方的初始位置。通过阶段1504,地图1514已恢复其先前取向。在一些实施例中,虚拟相机在地图被拖向一旁时仅旋转,而不是既移动又旋转。而在其它实施例中,相机围绕位置标识符转动,使得位置标识符在地图围绕其转动时好像是固定点。

4.路线概览模式

在一些情况下,除了仅察看示出下一交叉点的小比例尺地图,一些用户可能有时想要察看大图。即,用户可能希望在用户正行进于其导航应用的所计划路线上期间查看该路线全部。因此,一些实施例提供向用户示出整个路线的概览选项。图16和图17例示概览控件。图16包括两个阶段1601和1602。在阶段1601中,示出导航地图1610、概览按钮1612、手指1614和列表控件1617。在导航地图1610中,位置指示器1616示出设备在主街上、靠近第一大街。阶段1601还示出地图绘制应用程序正在标幅1618中显示道路名称,这是因为地图绘制应用程序正以导航模式操作。在这个阶段中,手指1614轻击概览按钮1612,使得概览将在阶段1602中得以显示。

在阶段1602中,导航应用程序已经显示概览地图1620、恢复按钮1622、位置指示器图钉1626、终点图钉1628和位置指示器控件1630。概览地图1620向用户示出用户从目前位置开始的整个计划路线。在例示的实施例中,概览地图聚焦在剩余路线上而非从起点开始的整个路线,因为概览地图未示出指示先前已行进路线的浅色线。然而,在一些实施例中,概览地图示出整个路线而非仅从设备的当前位置开始的路线。在一些实施例中,列表控件1617也存在于概览地图中,以便允许用户直接从概览地图转到操纵列表(例如,将到来的转弯)。第二阶段1602还示出道路名称被显示在道路上,这是因为地图绘制应用程序正在显示概览地图(即,并非处于导航模式)。应当指出,一些实施例的地图绘制应用程序另选地或相结合地使用标幅来显示道路名称,不管地图绘制应用程序的操作模式如何。

恢复按钮1622将导航应用程序切换回阶段1601的导航视图。位置指示器图钉1626和终点图钉1628分别示出设备的当前位置和导航路线的最终目标。在一些实施例中,应用程序允许用户四处移动地图、进行放大和缩小,或以其它方式聚焦在概览地图1620的不同部分上。在一些实施例中,位置指示器控件1630将地图的中心定位在位置指示器图钉1626上。

在一些实施例中,概览模式具有搜索框,搜索框允许用户输入关于可在概览地图中找到的项的搜索查询。例如,用户可在地图上搜索加油站,使得用户可确定在何处为其汽车加油。另一示例将会是对咖啡店的搜索,这样,用户可停下来喝咖啡。一些实施例允许用户在恢复导航之前从初始终点目标切换成在搜索中找到的目标。

在一些实施例中,所有概览地图都是2d形式。在其它实施例中,一些或所有概览地图都是3d形式。例如,一些实施例针对覆盖大距离的路线使用2d概览地图,而针对覆盖短距离的导航路线使用3d概览地图。图17例示使用3d概览地图的实施例。图17包括两个阶段1701和1702。在阶段1701中,示出导航地图1710、概览按钮1712、手指1714和列表按钮1617。在导航地图1710中,位置指示器1716示出设备在主街上、靠近第一大街。在这个阶段中,手指1714击中概览按钮1712,使得概览将在阶段1702中得以显示。

在阶段1702中,导航应用程序已经显示概览地图1720、恢复按钮1722、位置指示器图钉1726、终点图钉1728和位置指示器控件1730。概览地图1720向用户示出他们的整个计划路线。恢复按钮1722将导航应用程序切换回阶段1701的导航视图。位置指示器图钉1726和终点图钉1728分别示出设备的当前位置和导航路线的最终目标。位置指示器控件1730将地图的中心定位在位置指示器图钉1726上。

在一些实施例中,3d概览地图包括如相对于图16所述的搜索功能。另外,在一些实施例中,概览模式包括用于将地图的中心定位在终点图钉上的控件。在一些实施例中,位置指示器控件允许用户在将中心定位在设备的目前位置和将中心定位在设备的目标上之间进行切换。在一些实施例中,概览模式可在导航时在任何时间激活。

d.多模式应用

1.渲染模块

图18概念性地例示由一些实施例的地图绘制应用程序执行以渲染地图以供显示在客户端设备上(例如,在客户端设备的显示器上)的处理或地图渲染流水线1800。在一些实施例中,地图渲染流水线1800可统称为地图渲染模块。这个处理流水线的更详细的版本在提交于2012年9月30日的标题为“renderingmaps”的美国专利申请13/632,035中进行了描述。美国专利申请13/632,035以引用方式并入本文。如图所示,处理流水线1800包括图块检索器1805、一组网格构建器1815、一组网格构建处理器1810、图块提供器1820、虚拟相机1830和地图渲染引擎1825。

在一些实施例中,图块检索器1805执行根据来自网格构建器1815对地图片的请求以检索地图片的各种过程。网格构建器1815(如以下将描述)标识需要构建它们相应的网的现有地图片(存储在地图绘制服务服务器上或存储在执行处理流水线1800的设备上的高速缓存中的地图片)。图块检索器1805接收针对地图片的请求,确定从其检索地图片的最佳位置(例如,从地图绘制服务、从设备上的高速缓存),并且解压缩地图片(如果需要的话)。

一些实施例的网格构建器1815(也被称为片源)由图块提供器1820实例化,以便构建不同层的视图片。根据地图绘制应用程序所显示地图的类型,图块提供器1820可实例化不同数目和不同类型的网格构建器1815。例如,就俯瞰(或卫星)视图地图而言,图块提供器1820可能仅实例化一个网格构建器1815,因为一些实施例的俯瞰地图片不包含多层数据。事实上,在一些实施例中,俯瞰地图片包含在地图绘制服务处生成的已构建网,俯瞰图片(由卫星、飞机、直升机等拍摄)针对该网用作纹理。然而,在一些实施例中,可实例化另外的网格构建器以用于在应用程序处于混杂模式时生成标签以上覆于俯瞰图像上。就2d或3d渲染向量地图(即,非卫星图像地图)而言,一些实施例实例化独立的网格构建器1815,以便构建土地覆盖多边形数据(例如,公园、水体等)、道路、感兴趣位置标记物、点状标签(例如,用于公园的标签等)、道路标签、交通(如果显示交通的话)、建筑物、栅格数据(针对特定缩放水平下的特定对象)以及其它层的数据的网,以便并入地图中。

一些实施例的网格构建器1815从图块提供器1820接收“空”视图图块,并且将“构建后的”视图图块返回给图块提供器1820。即,图块提供器1820向每个网格构建器1815发送一个或多个视图片(未示出)。每个视图片都指示世界上要绘制出网的区域。在接收到这种视图片时,网格构建器1815标识来自地图绘制服务的所需地图片,并将其列表发送至图块检索器1805。

在接收到从图块检索器1805返回的片时,网格构建器使用存储在片中的向量数据来构建由视图片描述的区域的多边形网。在一些实施例中,网格构建器1815使用若干不同的网格构建处理器1810来构建网。这些功能可包括网生成器、三角仪、阴影生成器和/或纹理解码器。在一些实施例中,这些功能(和另外的网构建功能)可供用于每个网格构建器,其中不同的网格构建器1815使用不同功能。每个网格构建器1815在构建其网之后,将其视图片返回至图块提供器1820,其中每个网格构建器1815的网的层被填满。

图块提供器1820从控制器1875接收表示将要显示的地图视图(即,从虚拟相机1830可见的体积)的特定视图(即,体积或视锥)。图块提供器执行任何挑选(例如,标识要显示在视图片中的表面区域),随后将这些视图片发送到网格构建器1815。

图块提供器1820随后从网格构建器接收构建好的视图片,并且在一些实施例中,使用来自虚拟相机1830的特定视图来对已构建网进行挑选(例如,移除距离太远的表面区域,移除将完全在其它对象后方的对象等)。在一些实施例中,图块提供器1820在不同时间(例如,由于完成更复杂的或不太复杂的网的不同处理时间、在从图块检索器1805接收必要的地图片之前所经过的不同时间等)从不同网格构建器接收构建好的视图片。一旦已经返回所有视图片层,一些实施例的图块提供器1820将层放在一起并且将数据释放到控制器1875以供用于渲染。

虚拟相机1830生成供流水线1800渲染的体积或表面,并且将此信息发送至控制器1875。基于地图将从那里被呈现的特定位置和取向(即3d空间中用户从那里“查看”地图的点),虚拟相机标识用于实际发送给图块提供器1820的视场。在一些实施例中,当地图绘制应用程序正在渲染要导航的3d透视图时,虚拟相机的视场是根据一种算法来确定,该算法以规则的间隔基于用户设备的移动来生成新的虚拟相机位置和取向。

在一些实施例中,控制器1875负责管理图块提供器1820、虚拟相机1830和地图渲染引擎1825。在一些实施例中,实际上可实例化多个图块提供器,并且控制器将若干视图片(例如,地图片和建筑物片)放在一起以便创建移交至地图渲染引擎1825的场景。

地图渲染引擎1825负责基于从虚拟相机发送的网片(未示出)来生成用以输出至显示设备的绘图。一些实施例的地图渲染引擎1825具有若干个子过程。在一些实施例中,每种不同类型的地图元素是由不同的子过程渲染,其中渲染引擎1825处理对不同对象层的遮挡(例如,将标签放置在不同的建筑物的上方或后方,在土地覆盖上面生成道路等)。此类渲染过程的示例包括道路渲染过程、建筑物渲染过程、标签渲染过程、植被渲染过程、栅格交通渲染过程、栅格道路渲染过程,卫星渲染过程、多边形渲染过程、背景栅格渲染过程等。

现将描述一些实施例中的渲染流水线1800的操作。基于在特定缩放水平下查看特定地图区域的用户输入,虚拟相机1830指定从其查看地图区域的位置和取向,并且将此视锥或体积发送至控制器1875。控制器1875实例化一个或多个图块提供器。虽然在此图中示出一个图块提供器1820,但是一些实施例允许一次实例化多个图块提供器。例如,一些实施例实例化独立的图块提供器以供用于建筑物片和地图片。

图块提供器1820执行生成标识地图中需要构建网的区域的空视图片所必要的任何挑选,并且将空视图片发送至针对所绘制地图的不同层(例如,道路、土地覆盖、poi标签等)实例化的网格构建器1815。网格构建器1815使用从地图绘制服务接收的清单,该清单标识地图绘制服务服务器上可用的不同的片(即,作为四元树的节点)。网格构建器1815从图块检索器1805请求特定地图片,图块检索器1805向网格构建器1815返回所请求的地图片。

一旦特定网格构建器1815已接收到其地图片,它就开始使用存储在地图片中的向量数据来构建从图块提供器1820发送的视图片的网。网格构建器1815在构建其地图层的网之后,将构建好的视图片发送回图块提供器1820。图块提供器1820等待直到其已经从各种网格构建器1815接收所有视图片,随后将这些片层叠在一起并且将完整的视图片发送到控制器1875。控制器将从其所有图块提供器返回的片(例如,地图视图片和建筑物视图片)缝接在一起,并且将此场景发送至渲染引擎1825。地图渲染引擎1825使用地图片中的信息来绘制用于显示的场景。

2.不同模式的状态图

图19概念性地例示了状态图1900,其描述一些实施例的集成地图、搜索、和导航应用(例如前面章节中所述的应用)的不同状态及这些状态之间的转换。本领域的普通技术人员将认识到,一些实施例的应用程序将具有与所有不同类型的输入事件相关的许多不同状态,并且状态图1900具体地聚焦在这些事件的子集上。状态图1900描述并且涉及用于改变应用程序的状态的各种手势交互(例如,多点触摸手势)。本领域的普通技术人员将认识到,各种其它交互诸如光标控制器手势和按钮点击、键盘输入、触摸板/触控板输入等也可用于类似选择操作。

当用户初始地打开地图绘制应用程序时,应用程序处于状态1905、即地图浏览状态。在这种状态1905下,应用程序将已经生成并且显示地图视图。为生成并且显示这个地图视图,一些实施例的应用程序标识用于区域的所要求的地图片集、请求地图片(例如,从地图绘制服务服务器)、从虚拟相机的特定位置、取向和视点生成地图片的视图,并且向设备显示器提供地图视图。当处于状态1905时,地图视图是静态的。在应用程序处于状态1905的情况下,用户可执行修改地图视图、搜索实体(例如,感兴趣地点、地址等)、检索要导航的路线等的许多操作。

在一些实施例中,集成应用程序显示在具有集成触敏显示器的设备上。地图上的各种手势交互可使得应用程序对地图视图执行不同修改(例如,平移、旋转、缩放、修改地图透视图等)。当集成应用程序接收地图显示上的手势交互(而非覆盖在地图显示上的各种浮置或非浮置控件上的触摸输入)时,应用程序转变至状态1910以执行手势输入识别。

手势输入识别状态1910在不同类型的手势输入之间进行区分,并且将这些类型的输入翻译成不同地图视图修改操作。在一些实施例中,地图绘制应用程序接收如由具有集成触敏显示器的设备的操作系统翻译的手势输入。操作系统将触摸输入转译成手势类型和位置(例如,在坐标(x,y)处的“触击”、用在两个不同位置处的单独触摸输入进行的“捏合”操作,等等)。在状态1910下,一些实施例的集成地图绘制应用程序将这些翻译成不同地图视图修改操作。

当应用程序接收第一类型的手势输入(例如,以旋转运动在地图视图上一起移动的两个独立触摸输入)时,应用程序转变到状态1915以使地图旋转。为使地图视图旋转,一些实施例修改虚拟相机的位置和/或取向,该位置和/或取向确定地图中被渲染以创建地图视图的部分。当在3d模式中时,例如,地图绘制应用程序围绕特定定位(例如,触摸输入的中心、显示器的中心、识别用户位置的位置指示符等)旋转虚拟相机。当第一类型的手势输入继续时,地图绘制应用程序保持处于状态1915以继续使地图旋转。

当用户释放第一类型的手势输入时,一些实施例的应用程序转变至状态1930以执行惯性计算。在一些实施例中,在用户释放某些类型的触摸输入之后,应用程序继续执行相关联的地图视图修改,达到特定的时间量和/或距离。在这种情况下,在用户释放旋转输入之后,应用程序转变至惯性计算状态1930来计算另外的旋转量以及执行此旋转应经历的时间。在一些实施例中,应用程序使旋转从地图正在旋转的(角)速度减慢,如同向地图施加“摩擦”力一样。因此,一些实施例的惯性计算是基于第一类型的手势输入的速度。应用程序从状态1930转变回应用程序先前所处的地图修改状态。即以下情况:应用程序从状态1915(旋转状态)转变至惯性计算状态1930,它随后在执行惯性计算之后转变回状态1915。在地图的旋转完成之后,应用程序转变回状态1905。

当应用程序接收第二类型的手势输入(例如,在地图视图上移动的单个触摸输入)时,应用程序转变至状态1920以使地图平移。为使地图视图平移,一些实施例修改虚拟相机的位置,该位置确定地图中被渲染以创建地图视图的部分。这使得地图看起来像在源自第二类型手势输入的方向的方向上滑动。在一些实施例中,当地图视图处于3d透视模式时,平移过程涉及使触摸输入的位置与平面地图上的一个位置相关联,以便避免地图视图中突然的不希望的跳跃。当第二类型的手势输入继续时,地图绘制应用程序保持处于状态1920以继续使地图平移。

当用户释放第二类型的手势输入时,一些实施例的应用程序转变至状态1930以执行惯性计算。在一些实施例中,在用户释放某些类型的触摸输入之后,应用程序继续执行相关联的地图视图修改,达到特定的时间量和/或距离。在这种情况下,在用户释放了平移输入之后,该应用转到惯性计算状态1930以计算移动地图视图(即移动虚拟相机)的附加量以及该运动应该被执行的时间。在一些实施例中,应用程序根据地图平移时所处的速度来减慢平移移动,好像对地图施加了“摩擦”力一样。因此,一些实施例的惯性计算是基于第二类型的手势输入的速度。应用程序从状态1930转变回应用程序先前所处的地图修改状态。即以下情况:应用程序从状态1920(平移状态)转变至惯性计算状态1930,它随后在执行惯性计算之后转变回状态1920。在地图的平移完成后,应用程序转变回状态1905。

当应用程序接收第三类型的手势输入(例如,移动成更靠近在一起或更远离的两个独立触摸输入)时,应用程序转变至状态1925以放大或缩小地图。为改变地图视图的缩放水平,一些实施例修改虚拟相机的位置(即,高度),该位置确定地图中被渲染以创建地图视图的部分。这使得地图视图包括地图的更多内容(如果缩小的话)或更少内容(如果放大的话)。在一些实施例中,当用户进行放大或缩小时,应用程序检索不同的地图片(针对不同缩放水平)以生成和渲染新的地图视图。当第三类型的手势输入继续时,地图绘制应用程序保持处于状态1925以继续使地图放大或缩小。

当用户释放第二类型的手势输入时,一些实施例的应用程序转变至状态1930以执行惯性计算。在一些实施例中,在用户释放某些类型的触摸输入之后,应用程序继续执行相关联的地图视图修改,达到特定的时间量和/或距离(即,使虚拟相机向更高处或更低处移动)。在这种情况下,在用户释放缩放输入之后,应用程序转变至惯性计算状态1930来计算另外的缩放地图视图(即,使虚拟相机移动)的量以及执行此移动应经历的时间。在一些实施例中,该应用将缩放运动从地图先前被放大或缩小的速度(即虚拟相机改变高度的速度)减速,就如同“摩擦”力施加于相机。因此,一些实施例的惯性计算是基于第三类型的手势输入的速度。应用程序从状态1930转变回应用程序先前所处的地图修改状态。即以下情况:应用程序从状态1925(缩放状态)转变至惯性计算状态1930,它随后在执行惯性计算之后转变回状态1925。在地图的缩放完成之后,应用程序转变回状态1905。

为了简洁起见,状态图1900例示地图平移过程、缩放过程和旋转过程使用相同惯性计算过程(状态1930)。然而,在一些实施例中,这些不同地图修改过程中的每个实际上使用不同的惯性计算,以便标识每个地图修改过程的特定类型移动的减慢和停止。此外,一些实施例在接收输入时而非在用户移除手势输入时计算并且修改惯性变量。

当应用程序接收第四类型的手势输入(例如,一致地将触敏显示器向上或向下移动的两个独立触摸输入)时,应用程序转变至状态1935以修改地图的透视图。为改变地图的透视图,一些实施例使虚拟相机在地图上方沿弧移动,从而修改虚拟相机的位置和取向两者(因为相机保持其视场的中心位于地图上的特定位置处)。在一些实施例中,不同缩放水平使用虚拟相机沿着移动的不同弧。这些弧中的每个都具有顶部点,虚拟相机在该点处笔直向下指向,从而给出地图的2d透视图。此外,每个弧都具有底部点,即,弧上的虚拟相机可移动到的最低点。因此,在一些实施例中,第一类型的手势输入可使得应用程序在2d地图视图和3d透视地图视图之间改变。当第四类型的手势输入继续时,地图绘制应用程序保持处于状态1935以继续修改地图的透视图。

当用户释放第四类型的手势输入时,一些实施例的应用程序转变至状态1940以执行惯性计算。在一些实施例中,在用户释放某些类型的触摸输入之后,应用程序继续执行相关联的地图视图修改,达到特定的时间量和/或距离(即,使虚拟相机向更高处或更低处移动)。在这种情况下,在用户释放透视视角改变输入之后,应用程序转变至惯性计算状态1940来计算另外的修改地图视图的透视视角(即,使虚拟相机沿其弧移动)的量以及执行此移动应经历的时间。在一些实施例中,应用程序根据地图改变视点所处的速度(即,虚拟相机沿其弧移动所处的速度)来减慢移动,好像对相机施加了“摩擦”力一样。因此,一些实施例的惯性计算是基于执行第四类型的手势输入的速度。

此外,就视点改变操作而言,一些实施例转变至回弹计算状态1945。如上所述,视点改变操作具有一些实施例中所允许的最大和最小视点偏移,这可取决于当前地图视图的缩放水平。因此,除了惯性计算之外,应用程序在状态1945处执行回弹计算。回弹计算使用惯性计算来确定是否将到达沿虚拟相机弧的最大点,并且如果到达,确定虚拟相机在这个点处的速度。一些实施例允许虚拟相机稍微移动越过该最大点以抵达“回弹”点,在该“回弹”点处,应用程序使虚拟相机在其弧线上掉转,从而将虚拟相机朝向该最大点移回。一些实施例仅在虚拟相机弧的一端(例如,弧的底部)上包括这种弹回功能,而其它实施例在弧的两端上包括该功能。应用程序从回弹计算状态1945转变回惯性计算状态1940,随后返回视点改变状态1935以显示地图视图移动。此外,当用户执行第四类型的触摸输入达足够长的时间并且视点达到其最大点时,应用程序直接从状态1935转变至状态1945以计算回弹信息,并且随后转变回状态1935。在完成对地图的透视视角的修改之后,应用程序转变回状态1905。

上述内容涉及地图展示上的各种多点触摸手势,集成地图绘制、搜索和导航应用程序将这些触摸手势翻译成对地图展示所进行的不同修改。各种其它触摸输入也能使得应用程序改变状态并且执行各种功能。例如,一些实施例将3d可选项目上覆于地图视图上(例如,作为浮置控件),并且选择(例如,通过轻击输入)3d项目使得应用程序转变至1935以修改地图视图的视点。当地图视图以3d透视图开始时,应用程序将透视图修改成2d视图;当地图视图以2d视图开始时,应用程序将透视图修改成3d视图。在修改之后,应用程序返回至状态1905。

当用户在状态1905下查看地图时,应用程序呈现各种标签作为地图视图的一部分。这些标签中的一些指示感兴趣地点或其它位置。当用户选择某些标签(例如,用于某些企业、公园等),应用程序转变至状态1950以显示用于所选位置的标幅(例如,信息显示标幅),随后返回地图浏览状态(其中标幅显示在地图上)。在一些实施例中,这个标幅包括:(1)快速路线导航ui控件(例如,按钮),该ui控件使得应用程序检索从设备的当前位置到所选位置的路线(例如,驾驶路线)而不离开地图视图;以及(2)信息ui控件(例如,按钮),该ui控件使得应用程序提供关于位置的另外的信息。

当用户选择ui控件按钮时,应用程序从状态1905转变至状态1955以显示用于所选位置的演示区域。在一些实施例中,这个演示区域显示所选位置的媒体展示(例如,3d视频展示、所选位置的俯瞰视图、针对该位置捕获的一系列图像等)以及所选位置的各种信息(联系信息、评论等)。当用户执行各种操作以对演示区域进行导航并且查看演示区域内的信息时,应用程序停留在状态1955下。当用户选择ui控件以转回地图视图时,应用程序转变至状态1905。

用户还可从地图浏览视图容易地访问应用程序的搜索功能。当选择特定ui控件(例如,搜索条)时,应用程序转变至搜索输入建议状态1960。在搜索输入状态下,一些实施例显示触摸屏键盘,用户可通过该触摸屏键盘输入搜索项。搜索项可为企业名称、地址、一种类型的位置(例如,咖啡店)等。在用户输入字符时,应用程序保持处于状态1960并且基于最近搜索、已输入的字母等提供建议。一些实施例可使用基于前缀的建议(例如,以已输入的字符开始的建议)以及其它建议(例如,做出在已输入字串的开头添加字符、调换字符等拼写校正)。在一些实施例中,除了位置之外,选择还可包括最近输入的路线。如果用户在此阶段选择取消ui控件,应用程序转回状态1905而不执行搜索。

当用户选择搜索项(建议项或完全由用户输入的项)时,应用程序转变至状态1965以在地图视图上显示搜索结果,随后转变至状态1905,其中显示出搜索结果。一些实施例将搜索结果作为可选项目(例如,图钉)显示在地图上;对项目中的一个的选择使得转变至状态1950以显示用于所选择项目的标幅。此外,一些实施例的应用程序自动地选择搜索结果中的一个(例如,“最佳”结果)并且将此标幅显示为状态1965的一部分。

由于应用程序是紧密集成地图绘制、搜索、路线规划和导航应用程序,用户可容易地从地图浏览状态访问路线规划功能。当选择特定ui控件(例如,路线输入按钮)时,应用程序转变至路线输入状态1970。在路线输入状态,一些实施例显示触摸屏键盘,用户可以利用其输入位置(例如地址、场所名称、场所类型等)到“终点”和“起点”字段二者中以便请求路线。在用户输入字符时,应用程序保持处于状态1970并且基于最近路线、最近搜索、类似于针对搜索输入所描述的自动填写等提供建议。如果用户在此阶段选择取消ui控件,应用程序转回状态1905而不检索路线。

当用户选择路线(例如,通过输入“到”位置和“从”位置)时,应用程序转变至路线显示状态1975。在此状态下,应用程序在地图视图上显示从第一所选位置到第二所选位置的一条或多条路线(例如,通过将路线线条上覆于地图视图上)。一些实施例自动地选择路线中的第一路线。用户可选择任何其它路线(例如,通过轻击未选择的路线),其中应用程序保持处于状态1975(但是修改路线线条的显示以便指示对其它路线的选择)。此外,当处于状态1975时,一些实施例的应用程序显示与路线规划和导航相关的不同ui控件,包括引导列表控件、导航启动控件等。

另外,在显示路线的地图上的各种手势交互可使得应用程序对地图视图执行不同修改(例如,平移、旋转、缩放、修改地图视点等)。当集成应用程序在处于路线显示状态1975时接收地图显示上的手势交互时,应用程序转变至状态1910以执行手势输入识别,其中所有手势地图修改操作(例如,对状态1915-1945的推论)可用。即,应用程序将手势输入翻译成类似于以上针对状态1915-1945所述那些操作的平移、旋转、缩放和/或视点改变操作,针对虚拟相机移动具有类似惯性和回弹特征。然而,操作1915-1945返回地图浏览状态1905,从路线显示状态1975访问的推论操作返回路线显示状态1975。

在一些实施例中,路线显示状态1975也可从其它状态访问。例如,如果用户在处于状态1905时选择标幅上的快速路线ui控件,应用程序检索从设备的当前位置到与标幅相关联的位置的一条或多条路线。此外,一些实施例在状态1960下显示搜索建议中的先前所请求的路线。当用户选择这些建议路线中的一条路线时,应用程序直接从状态1960转变至状态1975以在地图上显示一条或多条路线。

应用程序可根据用户所选择的不同控件从路线显示状态1975转变成各种不同模式。当用户选择清除路线的ui控件时,应用程序转变回状态1905以显示无任何路线的地图。此外,集成应用程序可从路线显示状态1975进入一个或多个导航模态。

当在状态1975下显示的所选择的路线以设备的当前位置为起点并且用户选择导航启动控件时,应用程序转变至导航状态1980。在一些实施例中,应用程序显示从地图视图到用于导航的更沉浸式3d视图的电影式转变。在一些实施例的导航状态1980内,虚拟相机遵循用户沿所选择的路线的位置,以便呈现路线的将到来的部分。当路线完成(设备到达目标位置)或用户选择结束导航的控件时,应用程序转变至状态1905以呈现地图浏览视图1905。

在一些实施例中,当处于导航模式1980时,在显示路线的地图上的各种手势交互可使得应用程序对地图视图执行不同修改(例如,平移、旋转、缩放、修改地图视点等)。在一些实施例中,仅所述地图修改操作中的一些在导航模式下可用。例如,一些实施例允许用户进行放大或缩小,但不允许对地图进行任何其它修改。因此,当用户提供手势输入时,手势输入识别状态1910过滤掉不与缩放操作相关联的类型的手势输入(并且应用程序随后返回状态1980)。当接收到与缩放操作相关联的类型的手势输入时,手势输入识别状态识别这个输入,并且应用程序转变至用于改变地图的缩放水平(在一些实施例中,通过惯性计算)的类似于状态1925的状态。

其它实施例可允许不同地图修改操作。例如,在一些实施例中,在处于导航模式时,所有手势地图修改操作(例如,对状态1915-1945的推论)都是可用的。一些实施例允许手势地图修改操作的子集,诸如缩放和有限平移操作。一些实施例的平移操作在接收到与平移相关联的类型的手势输入时使虚拟相机向一侧移动(在处于导航模式时),随后使虚拟相机返回指向路线。操作1915-1945返回地图浏览状态1905,而从导航状态1980访问的推论操作返回导航状态1980。

当在状态1975下显示的所选择的路线以设备的当前位置之外的位置为起点(或路线是步行路线)并且用户选择导航启动控件时,应用程序转变至状态1985下的步进模式或路线检查模式。在一些实施例中,应用程序一次显示沿路线执行的一个操纵(例如像导航标志)。在处于路线检查模式时,通过针对操纵提供手势输入(例如,横扫手势),用户能够查看不同操纵。操纵上覆于地图上,并且路线的至少一部分显示在地图中。

当处于路线显示模式时,地图上的各种手势交互可使得应用程序对地图视图执行不同修改(例如,平移、旋转、缩放、修改地图视点等)。当集成应用程序在处于步进模式1985时接收地图显示上的手势交互时,应用程序转变至状态1910以执行手势输入识别,其中所有手势地图修改操作(例如,对状态1915-1945的推论)可用。即,应用程序将手势输入翻译成类似于以上针对状态1915-1945所述那些操作的平移、旋转、缩放和/或视点改变操作,针对虚拟相机移动具有类似惯性和回弹特征。操作1915-1945返回地图浏览状态1905,而从步进模式1985访问的推论操作返回步进模式1985。

此外,在一些实施例中,手势输入识别识别在所显示操纵上进行的至少一种类型的手势输入,以便在操纵之间进行切换。当接收到所显示操纵上(而非在地图视图上)的特定类型的手势输入(例如,横扫手势)时,应用程序转变至用于改变所显示操纵的状态(未示出),然后返回状态1985。

当集成应用程序在处于步进状态1985时接收所显示地图上的手势交互时,应用程序转变至状态1910以执行手势输入识别,其中所有手势地图修改操作(例如,对状态1915-1945的推论)可用。当修改操作完成时,应用程序返回状态1985。当用户选择结束逐步操纵的控件时,应用程序转变至状态1905以呈现地图浏览视图。

此外,在一些实施例中,应用程序可从步进模式1985转变至自动步进状态1990。当用户在应用程序处于状态1985时选择位置追踪控件时,应用程序转变至自动步进模式1990,这是一种不同导航模态。当在一些实施例的自动步进模式中时,集成地图绘制、搜索和导航应用程序显示设备位置最靠近(例如,如由执行操纵的接合点所测量)的操纵。当设备移动(例如,沿路线)至更靠近不同操纵的位置时,自动步进模式自动地显示该不同操纵。当用户取消选择位置追踪控件时,应用程序转变回步进模式1985。当用户在处于自动步进状态1990时选择结束导航的控件时,应用程序转变至状态1905以呈现地图浏览视图。

当处于步进模式1985时,地图上的各种手势交互可使得应用程序对地图视图执行不同修改(例如,平移、旋转、缩放、修改地图视点等)。当集成应用程序在处于自动步进模式1990时接收地图显示上的手势交互时,应用程序转变至状态1910以执行手势输入识别,其中所有手势地图修改操作(例如,对状态1915-1945的推论)可用。即,应用程序将手势输入翻译成类似于以上针对状态1915-1945所述那些操作的平移、旋转、缩放和/或视点改变操作,针对虚拟相机移动具有类似惯性和回弹特征。操作1915-1945返回地图浏览状态1905,而从自动步进模式1990访问的推论操作返回自动步进模式1990。此外,一些实施例在用户使地图平移特定距离时自动关闭位置追踪控件,在这种情况下,应用程序返回步进模式状态1985而非自动步进状态1990。

ii.导航标志的显示

以上章节介绍一些实施例的逐向导航特征。一个此类特征是由地图绘制应用程序所提供的导航标志,导航标志描述用户要执行的不同操纵。这些标志可指示转弯、继续笔直行进要经过的距离、驶出高速公路的时间或用户要执行的其它操纵。一些实施例提供用于标志的各种动画,包括:以3d模式将标志示出为在用户位置指示器上方经过;修改标志的外观以指示将到来的操纵;以及在两个操纵将会快速连续地被执行时使用第二标志。

a.不同背景环境中的逼真外貌和不同格式

在一些实施例中,导航标志在不同情景中可具有不同外观。以下将更进一步详细地描述这些差异中的一些。具体地,要执行的操纵的图形指示器(例如,以下将进一步描述的方向指示器)以及描述这些操纵的指令文本可适于配合正在显示的导航标志的情景。例如,不同尺寸的标志可具有简单或复杂的操纵描述,并且指令文本可适于标志的尺寸并且可基于标志内显示的其它信息。

一些实施例以给予导航标志以逼真道路标志的外观这种方式来显示标志。一些实施例将导航标志显示为丰富的纹理化图像(例如,使用阴影、着色等),这与只是在地图显示上显示平面图像形成对比。此外,一些实施例对导航标志使用着色,从而匹配应用程序正导航通过的区域中的道路标志的颜色。在一些实施例中,应用程序还使用逼真公路盾牌来标记道路。例如,对于编号的州和联邦公路,应用程序将会在导航标志内(例如,远离标志的侧边)使用与道路相关联的公路盾牌,用公路盾牌替换导航指令中的道路名称,或以其它方式在图形显示中包括公路盾牌。这些道路标志的生成和使用在提交于2012年9月30日提交的标题为“contextawarevoiceguidance”的美国专利申请13/632,121中进行了描述。美国专利申请13/632,121以引用方式并入本文。

图20例示使用此类公路盾牌的若干gui场景。第一此类场景2005例示处于逐向导航模式、示出沿us-101north继续直行20英里的地图绘制应用程序。在这个示例中,用于us-101的道路标志内联地显示在文本指令“在us-101上直行”内,作为对实际文本“us-101”的替代。当道路具有标志并且该标志作为图像可用于地图绘制应用程序时,一些实施例用道路标志来替换道路的文本名称。

第二实例2010例示显示在导航标志的右侧上而非内嵌在文本指令中的公路盾牌。这个场景例示由一些实施例针对与实例2005中相同的指令所使用的另选显示。在这种情况下,公路盾牌显示为具有与导航标志的左侧上的图形指示器箭头相同的尺寸。此外,由于信息以道路标志形式呈现,应用程序移除文本中的“在101北向上”部分,否则该部分将呈现出来。

第三实例2015例示以下情况:导航标志被着色以匹配公路盾牌中所示的道路类型。在这个场景中,指令告知用户在ca-1北向上直行。“ca-1”由用于ca-1的公路盾牌标志代替。虽然一些实施例使用绿色(用于加利福尼亚州公路的标志的颜色)来为此标志着色,但是其它实施例使用沿着实际公路找到的道路盾牌标志的颜色来为导航标志着色。其它实施例使用绿色来匹配设备所在区域中的高速公路上找到的道路指令标志的颜色(例如,加利福尼亚是绿色)。

第四场景2020例示导航标志内的到5号州际公路上的并上操纵。与第一实例2005非常像,第四场景2020例示道路盾牌标志作为内嵌文本。此外,在道路盾牌内使用着色以便匹配实际洲际公路标志的外观,其中顶部部分着红色并且底部部分着蓝色。如所提及的,一些实施例替代地使用这些颜色的组合来为整个导航标志着色。

虽然图20并未例示方向指示器2090的不同外观,但是一些实施例的地图绘制应用程序使用不同外观,以便使方向指示器适于配合正在显示的导航标志的情景。

1.不同情景中的不同方向指示器

对于当前所显示的导航指令标志,在全屏逐向导航情景中,一些实施例的地图绘制应用程序将操纵概括为两个元素:粗略地表示车辆通过交叉点的路径的突出风格化箭头;以及对应于交叉点的其它元素的一组去强调的直线和曲线。例如,t字交叉点处的右转是由与较小较暗区段以直角接合的大箭头表示,较小较暗区段平行于大箭头的区段中的一者延伸。较小区段也将被推至一侧,使得车辆通过交叉点所采取的路径占显示的大部分。对操纵的这种表示(包括具有交叉点情景的箭头)提供关于操纵的相当完整的信息,同时保持抽象且易理解。

对操纵的另选表示可省略整个交叉点情景,并且简化指示操纵的主要箭头。当用户查看超出当前操纵的操纵(要进行的下一操纵)时,更详细的图形表示可提供比所要求更多的信息并且更难通过快速扫视来读取。例如,即使存在用于显示当前操纵之后的第二指令的交叉点情景,但是为了清楚起见,一些实施例仅显示简化箭头。该自适应方法也有利于空间受约束的ui元素。例如,当正在进行多个任务或查看指令的列表时,一些实施例的地图绘制应用程序绘制更简单的操纵抽象形式,以便在更小区域中产生更容易识别的事务。

图21例示其中地图绘制应用程序显示不同类型的图形指示器箭头以视觉地向用户呈现操纵的若干不同场景。第一场景2105例示列表视图中示出的路线指引。列表视图显示从起点位置到达终点位置的一系列逐向指令。在一些实施例中,用户可查看逐向指令而无需实际上进入导航模式或甚至遵循路线。在这种情况下,一些实施例显示每个转弯的简单型式的图形指示器。这样做是出于节约空间的目的以及以下事实:当用户实际上不是正在接近操纵时,交叉口情景并非特别有帮助。

第二场景2110例示当地图绘制应用程序在其上操作的用户设备被锁定时的逐向导航。如以下详细描述,应用程序能够显示逐向导航指令,即使在设备被锁定时也是如此,以便继续向用户提供指令。在这种场景中,如图所示,在一些实施例中,简化箭头也被显示。这在锁定屏幕内提供转弯的简单图形指示(在这种情况下,右转),而不提供用户可能难以在锁定屏幕中辨认出的情景数据。

第三场景2115还例示在地图绘制应用程序在应用程序在其上操作的设备上并未打开(或当前未显示)时的逐向导航。如以上详细描述,在地图绘制应用程序未被显示时,应用程序在通知标幅空间内显示逐向导航指令。与处于锁屏模式很像,地图绘制应用程序使用所指示操纵(在这种情况下,左转)的简单图形指示器。由于空间约束以及以上针对锁屏模式所描述的原因,使用简单图形指示器。

先前三种场景例示其中使用简单图形指示器的情况。本领域的普通技术人员将认识到,在一些实施例中,更复杂风格化交叉点加上操纵图形指示器可用于以上情况。以下三种场景例示其中使用这些更复杂的指示器的情况。

第四场景2120例示路线概览指引,其中用户可查看从起点位置到终点位置的整条路线。用户可横扫不同指令(例如,使用横扫手势)以查看操纵之间的路线路段。这里,使用复杂交叉点指示,从而示出交叉口情景(t字交叉口)和所做出的通过交叉口的操纵,其中在交叉口情景上方强调操纵箭头。

第五场景2125例示标准逐向导航(即,既不处于锁屏模式,也不具有不同应用程序打开等)的情景中的导航指令。在这种情况下,使用更复杂的箭头图形指示器。在例示的实例中,道路交叉点比先前实例稍微复杂,其中第四支路是从接近方向向上再向右调整角度。第六场景2130还例示逐向导航期间的导航指令。在这种情况下,正在执行的操纵是掉头。如在场景2125中用交叉点支路表示掉头将会导致箭头向上再向下指向同一支路(底部支路)。因此,应用程序替代显示所存储的掉头指示器箭头。

图22例示用于同一转弯的若干场景以及不同箭头可用于同一转弯的方式。第一场景2205在逐向导航指令中例示右转到第一大街。如同在图21中,使用复杂图形指示器。第二场景2210例示逐向导航期间的情况,其中右转到第一大街是快速连续进行的两个操纵中的第二操纵。在这种情况下,第二指令在第一指令之后很快到来,所以应用程序提供对将到来的两个操纵的指示。第二操纵在显示器上被分配较少空间,并且因此使用简化箭头。第三场景2215例示路线指引列表中的简化箭头指示器的使用。此外,如就路线指引列表中的第二操纵所示,一些实施例在以下情况下用公路标志(盾牌)替换简化方向指示器:操纵在这种盾牌/标志可用的道路上结束。第四场景2220和第五场景2225例示处于锁屏模式下和在地图绘制应用程序未显示在设备上时的用于右转的简化箭头指示器。

2.不同情境中的不同导航指令

一些实施例的地图绘制应用程序在各种情况下显示文本路线指令,其中一些情况比其它情况更加受空间约束,并且在其中一些情况下,其它引导元素提供关于操纵的可替代文本指令的信息。应用程序不是选择单个指令串并且随后如约束所决定那样缩小字体或截短,而是使用极其复杂的方法根据关于操纵本身的许多细节来合成最佳适于每个情景的字串。

对于给定情景,应用程序通过考虑因素诸如可用空间、由除文本外的手段(例如,图形指示器、道路标志等)传达的信息的量、每个指令变体的局部长度以及其它因素来选择指令。通过合成并且评估本地位于客户端设备上的若干替代形式(而非只是从地图绘制服务接收指令本文),地图绘制应用程序可在每个场景下选取最佳指令串。此外,这种方法允许应用程序在不同尺寸的设备上使用不同指令文本(例如,与较小智能电话相比,在平板电脑上使用更多文本)。类似方法也可用于需要配合在特定的时间量内的说出指令,并且当使用语音指令时,一些实施例的应用程序将会减少所显示指令的长度。

图23例示根据一些实施例的合成交叉点处的特定操纵的不同指令的实例。图24和图25随后例示其中使用操纵的这些不同指令的不同场景。如图所示,地图绘制应用程序使用所接收的路线指令和交叉点数据来标识操纵指令的具体方面。表2305概念性地例示可针对交叉点生成各种字串的方式。具体地,操控指令包括“位于”字段、“转弯”字段、“上到”字段、“朝向”字段、和“行驶”字段。针对每个交叉点,应用程序初始填充这些字串字段,以便合成来自字段的指令。

在一些实施例中,“位于”字段基于包括交通信号灯和停车标志信息等的地图信息。对于图23中所示的示例,第一交界口发生“在道路尽头”,而第二交界口发生“在下一交通信号灯处”。“转弯”字段描述要做出的操纵;此字段的示例包括“右转”(在第一交叉点处执行的操纵)、“离开高速公路”、“靠左”、“略微左转”、“掉头”或其它操纵。包括操控描述的路线指向可以被映射到用于“转弯”字段的不同的可能串。

“上到”字段指示操纵离开交叉点所到达的途径(即,街道、高速公路等)。在图23中第一交界口的情况下,操控离开交界口“上到第一大街”。“朝向”字段指示出口支路所指向的标记(从地图数据或交叉点数据获得)。在一些实施例中,地图绘制应用程序分析后续交叉点的出口支路,并且使用此道路的名称作为“朝向”字段。在示例中,第二交叉点是左转到b大街,因此,第一交叉点的“朝向”字段指示操纵“朝向b大街”离开。其它实施例使用与目前交叉点的出口街道相交的下一道路、主要道路(例如,高速公路)或其它可容易识别的描述符(例如,城市等)。“行驶”字段指示路线将沿循“上到”字段中道路(即交界口离开上到的道路)持续的距离。因此,在示例性指令中,下一交叉点将在0.1英里处,因此“行驶”字段是“行驶0.1英里”。

接着,在生成用于一组指令的每个组成字串之后,一些实施例的地图绘制应用程序生成不同水平的指令。表2300例示用于第一交叉点的一组合成指令。具体地,表2300例示用于特定交叉点的具有变化长度的五组指令。然而,本领域的普通技术人员将认识到,不同实施例可基于一组字串字段包括较少、另外、或不同的合成字串。

第一指令集使用所有五个字段。这是最长的指令集“在道路尽头右转上第一大街,朝向b大街前行0.1英里”。因为它是最长的指令集,应用程序为该指令集分配等级1。第二指令集移除了“行驶”字段,只使用“位于”、“转弯”、“上到”、和“朝向”字段。第三指令集移除了“位于”字段。这些字段增加内容,并且因此在另外的空间可用时具有这些字段的话更好。然而,它们很少与操纵本身成一整体,并且因此是在缩短指令文本时要移除的第一字段。然后,对于第四指令集,该应用移除“朝向”字段,因为“转向”和“上到”字段被认为更重要。最后,第五指令集仅包含“转弯”字段,只是说明“右转”。

同样,当不同长度指令(这些指令仍有意义)可用时,一些实施例将包括另外的指令集。例如,一些实施例在“行驶”字段比“位于”字段短的情况下将包括移除“位于”字段但是保留“行驶”字段的指令集。这使应用程序能够在第二指令集(其中移除“行驶”字段)对于所分配的空间而言正好略长的情况下具有另一选项。此外,一些实施例可包括另外、更少或不同的字段。例如,一些实施例可包括“之后”字段,该字段给出与将到来的交叉点的距离(即,“0.5英里之后……”)。

图24和图25例示多种不同情况下的若干不同场景,在这些场景中,地图绘制应用程序针对表2305中的第一交叉点的特定操纵显示自适应指令的不同实例。在这种情况下,完整指令是“0.5英里之后,在道路尽头,右转到第一大街,朝向b大街,行驶0.1英里”。然而,因为实例并不包括“之后”字段,最高等级的指令比这稍短。为了确定针对特定显示使用哪个指令集,一些实施例的地图绘制应用程序确定指令集的最大长度,随后选择配合在所分配空间中的最高等级的集。

第一情景2405例示了在逐向导航期间显示的用于特定操控的指令。在这种情况下,应用程序为指令分配文本行。距离(0.5英里)已经以大字体显示在导航标志的顶部处,但这并不算作文本行中的一行。在三行可用的情况下,最高等级的指令集可用于导航标志。

第二场景2410例示处于锁屏模式下时的特定操纵的逐向导航指令。在这个模式中,在一些实施例中只分配两行大文本,从而适合的最高等级的指令只使用“转向”和“上到”字段。这简化成转弯的方向和用户转弯到达的街道。第三场景2415例示在地图绘制应用程序在设备上未打开时的用于操纵的导航指令,在这种情况下,指令示出为警示标幅。在这种情况下,应用程序仅分配一行向给指令,所以使用最低等级的指令(“右转”)。

第四场景2420例示用于路线指引的列表视图中的信息的显示。如上所述,此视图列出用于沿路线的每个操纵的后续指令。在一些实施例中,列表视图中的用于每个指引的标幅具有可变高度,并且因此一直使用完整指令集。因此,最高等级的指令集“在道路尽头,右转到第一大街,朝向b大街”用于列表中的第一操纵。。如图所示,与下面两个操纵相比,此操纵占用额外文本行。

第五场景2425例示3d模式下的逐向导航。与第一场景2405相比,在处于3d模式时,一些实施例为指令集在导航标志中分配较少空间,以便可查看到更多3d显示。因此,应用程序使用第三等级的指令集,因为这是使用给定文本尺寸配合在两行中的最大指令。

图25例示其中地图绘制应用程序使用合成的指令集的另外场景。第六场景2505例示用户可逐步查看(例如,通过横扫手势)的路线概览指令的显示。在一些实施例中,应用程序为逐步查看指令分配与逐步导航相同的空间量,并且因此应用程序同样使用包括所有字段的最高等级的指令集。

第七场景2510与第一场景2405相同,但明确地指示说出导航已关闭。这里提供第七场景2510以与第八场景2515形成对比,在第八场景2515中,在逐向导航期间启用了语音指令。针对语音导航,应用程序确定允许用于说出指令的最大时间量,随后确定可在这个所分配的时间内说出的最高等级的指令集。在这种情况下,时间允许选择整个最高等级的指令集。此外,当激活语音导航时,应用程序减小所显示导航标志的尺寸。因此,应用程序在显示内显示第三等级的指令集。

最后,一些实施例的地图绘制应用程序可在具有不同尺寸显示屏的不同类型的设备上操作。例如,应用程序可在智能电话和较大平板电脑两者上操作。当在较大设备上操作时,一些实施例允许更多空间用于导航标志。第九场景2520例示较大设备(例如,平板电脑)上的逐向3d导航。与第五场景2425中不像,导航标志为要使用的最高等级的指令集提供足够空间。

以上描述描述一些实施例,这些实施例针对操纵生成若干不同指令集、为指令集分等级、并且随后自适应地确定这些指令集中的哪个最佳地配合在特定空间中。在一些实施例中,应用程序标识可供用于指令显示的字符的最大数量。应用程序随后以最高等级的指令集开始,并且确定指令集是否配合在所标识数量的字符中。当指令集配合时,应用程序选择并且显示指令集。当指令集并不配合时,应用程序移动到下一等级的指令集并且执行相同测试。如果指令集都不配合,那么应用程序使用最接近配合的一个指令集。一些实施例随后利用省略号来截短指令集,以便指示指令集并非完全配合在空间内。这可导致从字串中移除元素。

除了文本之外,一些实施例在指令集内使用文本替代物。具体地,对于由盾牌标志表示的道路(例如州际公路、州级道路),该应用使用道路的盾牌表示,而不是道路名称(例如里面有“i-5”的蓝红盾牌来代替“金州公路”或“5号州际公路”)。在评估不同指令集时,一些实施例将这些标志视为固定数量的字符。

以上描述描述地图绘制应用程序的一些实施例,其中关于使哪些元素的决定主要基于尝试使用最大长度的指令集来执行。一些其它实施例将是否以不同视觉方式向用户呈现指令集的某些元件考虑在内,并且可能潜在地移除这些元素。

例如,当显示清楚表明转弯是略微右转的详细指令箭头时,一些实施例缩短指令以移除“略微”或甚至移除整个对转弯的标引,替代地使用沿“ca-17s,朝向圣克鲁兹”的线路的指令。类似地,如果显示大的道路盾牌标志,那么可省略指令的“ca-17s”部分。

b.标志的动态和动画展示

图20的上述情况例示导航标志的静态显示(即,未示出任何对标志做出的改变)。一些实施例提供这些导航标志的动画或其它动态显示。这些显示包括在用户做出操纵并且标志被移除时经过地图显示中的用户表示(导航定位器)上方的标志的外观。此外,在操纵逼近时可对标志应用精妙动画,以便使得用户注意将到来的操纵。最后,当两个操纵快速连续发生时,应用程序将第二操纵的导航标志显示为排列在第一标志之后。

1.导航标志的动画移除和展示

图26以四个阶段2605-2620例示用于移除导航标志并且引入下一标志的一些实施例的动画。在一些实施例中,所移除标志的动画模拟道路标志在公路上方经过的动画。虽然这个图例示了在3d模式背景环境内的动画,但是一些实施例还包括2d模式中的动画。其它实施例具体地提供用于3d模式的动画。

第一阶段2605例示导航标志2625,导航标志2625指示用户在100英尺之后执行并上主街的操纵。第二阶段2610例示在用户执行操纵时移除导航标志2625的动画。当用户在物理上并上主街时,导航标志2625放大并且开始从视场中消失,如同高速公路上方的道路标志那样。在一些实施例中,地图绘制应用程序还对标志应用视点倾斜,以进一步模仿在上方经过的标志的外观。

在第三阶段2615,后续导航标志2630开始从水平面或很靠近水平面的逼近位置显现出来。直到水平面,一些实施例实际上并非始终以3d模式渲染出地图,并且从3d渲染结束时的距离处开始以动画方式显示将到来的导航标志。这个动画意图类似于关于高速公路上的道路标志的方法,但是通常是以更快的速度进行(以便快速地使导航标志达到实际尺寸,并且避免冗长动画的干扰)。第四阶段2620例示所得的显示,其中后续导航标志2630以正常位置显示在屏幕的顶部处。

除了图26中所示的动画之外,在一些情况下,一些实施例还包括更复杂的动画。举例来说,当导航标志在用户做出转弯操纵时离开显示时,一些实施例使导航标志旋转,以便模仿用户在标志下方转弯的景象。

2.偶尔强调

在一些情况下,地图绘制应用程序可在由导航标志所描述的操纵将被执行很久之前就显示导航标志。例如,如果用户进入高速公路,并且下一操纵涉及15英里之后的高速公路出口,应用程序可显示以下导航标志,该导航标志在用户需要开始准备实际离开高速公路很久之前就指示将到来的高速公路出口。在警示用户正在接近要执行操纵的交叉点时,不同实施例使用不同技术。一些实施例包括音频警示,其中用户设备提供语音导航以指示正在接近交叉点。

结合音频警示或无论何时关闭音频警示,一些实施例通过标志的显示来提供操纵即将到来的视觉指示。例如,在一些实施例中,应用程序修改标志的颜色(例如,从绿色到白色或从绿色到黄色)以及图形指示器箭头的颜色(例如,从白色到黑色)。其他实施例在导航标志上显示较不刺眼的闪烁,旨在吸引用户注意而不过度刺眼。

图27以四个阶段2705-2720例示这种闪光动画。这些阶段将显示的背景例示为灰色,以便当闪光在标志上移动(以白色示出)时与闪光形成对比。第一阶段2705例示当前指示1000英尺之后的右转操纵的导航标志2725。

在第二阶段2710,现在距离右转仅500英尺。应用程序已经判断这是向用户警示将到来的操纵的适当距离,并且因此已经开始在导航标志2725上显示闪光。第三阶段2715和第四阶段2720例示此动画的继续部分。在一些实施例中,动画类似于光在标志上从左向右移动。其它实施例显示从右到左的类似动画,或其它此类动画(例如,光从标志的中心辐射出等)。

一些实施例基于各种因素来改变动画开始时距操纵的距离,这些因素诸如设备移动的速度(基于位置追踪信息)和用户当前行进的道路的速度限制。例如,一些实施例在交叉口之前具有应显示动画的设定时间,并且使用这种速度信息来计算适当距离。一些实施例还基于所做出的操纵的类型来改变距离(例如,与用于右转离开单行道路相比留有更多时间用于离开高速公路)。

3.第二标志

当路线要求快速连续做出两个不同操纵时,一些实施例将用于第二操纵的导航标志显示为叠堆在用于第一操纵的导航标志下方。这就第二操纵的将发生性警示用户。当将连续地执行若干操纵时,一些实施例将多于两个导航标志叠堆在彼此之上。

图28以四个阶段2805-2820例示用于快速连续的操纵的两个标志的显示。在第一阶段2805,第一导航标志2825指示在1000英尺的距离处将到来的操纵是左转到东街。由于这是实际尺寸的逐向导航标志,应用程序为此操纵显示第一类型的图形指示器箭头(即,复杂箭头)。如通过与驾驶员(将主要是着眼于道路)可进行相比更仔细的查看在地图上可见,为了遵循给定路线,将要求在左转到东街之后不久右转到南街。为了使用户对此更加清楚,应用程序在第一导航标志2825下方显示第二导航标志2830。因为提供更少空间,第二标志包括第二类型的图形指示器箭头(即,更简单的箭头)。此外,在第二标志2830中,更少信息被提供给用户。

第二阶段2810例示用户现在已行进了900英尺,使得距离左转操纵仅100英尺。除了在导航标志2825中对距离的更新(以及3d地图的移动)之外,显示尚未改变。第三阶段2815例示紧接在已经执行左转操纵进入东街之后的显示。如图所示,第二导航标志2830现为实际尺寸的导航标志,具有复杂的图形指示器箭头和另外的文本信息(50英尺的距离和右转的文本指令)。一些实施例以动画方式显示从较小标志到实际尺寸标志的转变,而其它实施例只是用一个标志来替换另一个。

第四阶段2820例示用户已经做出第二操纵(右转到南街)之后的显示。应用程序现在显示用于下一操纵,即左转到西街的导航标志2835。由于距离此操纵2.8英里,应用程序并不是将标志2835叠堆在标志2830下方。由于导航处于3d模式,一些实施例就显示以上参考图26所述的动画。

在上述示例中,应用程序叠堆相隔50英尺发生的操纵的标志,但不叠堆相隔若干操纵发生的操纵的标志。将两个操纵视为连续情况的阈值距离可取决于多种因素。一些实施例存储不可变的设定距离。其它实施例着眼于操纵中涉及的道路的类型(例如,基于描述后端地图数据中的道路的功能道路类变量)或速度限制,采用在操纵之后对于用户而言合适的速度,并且基于此数据(即,基于操纵之间的阈值时间,诸如30秒)设定阈值距离。

iii.不处于导航应用程序时的导航指令

a.当设备解除锁定并且导航正在后台操作时的指令

一些实施例允许导航应用程序在其它应用程序在前台运行的同时在后台运行。这些实施例在前台提供不突出的导航指令,即使在主导航应用程序正在后台运行并且另一个应用程序或应用程序启动器正在前台运行时也是如此。在后台运行的应用程序的示例包括语音激活个人助理、邮件、浏览器、电话、日历、或设备上可用的任何其它应用程序。

一些实施例的导航应用程序在屏幕上提供导航条(有时称作“标幅”或“导航标幅”)以及常规的状态条。一些实施例在没有提供导航指令时提供导航状态条,并且在给出导航指令时提供导航指令条。图29例示本发明的一些实施例中的当导航正在后台操作时的用户设备显示2900。用户设备显示2900以四个阶段2901-2904示出。

在阶段2901中,显示2900示出导航应用程序2905、状态条2980和按钮2915。状态条2980示出不同信息,诸如电池水平、时间、接收条等。在一些实施例中,状态条显示指示器诸如箭头,该指示器指示导航应用程序或地图应用程序正在运行。在这个阶段2901中,导航应用程序2905正在前台运行,直到设备接收对按钮2915的选择(例如,点击)从而从导航应用程序切换至应用程序启动视图,应用程序启动视图本身可表征为应用程序启动应用程序。在一些实施例中,替代或除了按钮,存在将导航应用程序切换至另一个应用程序(例如,应用程序启动视图或其它应用程序)的其它控件。阶段2901还示出:道路名称显示在道路标志上而不是在标幅中。如上所述,一些实施例的地图绘制应用程序可在道路上和/或在标幅中显示道路名称,无论地图绘制应用程序操作时所处的模式如何。

在阶段2902中,应用程序启动器2975在前台显示。前台应用程序启动器2975具有图标2925,图标2925在导航应用程序在后台运行时具有它们的正常功能(例如,启动其它应用程序)。在阶段2902中,后台导航状态条2910被示出在状态条2980下方。一些实施例以与导航未在后台运行时(如阶段2901中所示)的状态条颜色(例如,灰色)不同的颜色(例如,绿色)在导航在后台运行时(如阶段2902中所示)显示状态条2980和/或导航状态条2910。在其它实施例中,状态条2980在导航应用程序正在后台运行、导航应用程序关闭、或导航应用程序正在前台运行时具有相同颜色。在一些实施例中,导航状态条的厚度与导航应用程序当前未在导航指令条中显示指引时的状态条的厚度相同或近似地相同(例如,厚度的75%至125%)。

在一些实施例中,导航状态条2910既是导航应用程序正在后台运行的指示器又是用于使导航应用程序进入前台的控件。在一些实施例中,导航状态条2910并不限于仅仅随着应用程序启动屏幕2975一起显示,而是显示在正在前台运行的任何应用程序的顶部处、位于状态条2980下方。

在阶段2903中,通过触摸屏幕上的导航状态条2910来选择导航状态条2910。一些实施例还允许由其它基于触摸或基于运动的输入设备以及非基于触摸或基于运动的输入设备对导航条进行选择。在一些实施例中,用于选择的一些设备包括键盘、鼠标、操纵杆、触摸板等(例如,选择可以是来自鼠标的点击)。对导航状态条2910的选择(如阶段2903中所示)使得导航应用程序2905在阶段2904中返回前台。除了利用导航状态条2910返回导航应用程序(即,使得导航应用程序进入前台)之外,在一些实施例中,导航条具有其它功能。例如,导航状态条2910在一些实施例中用于在导航应用程序本身仍在后台时提供导航指令(例如,逐向指引)。在其它实施例中,导航状态条在各种时间由提供指令的导航指令条替换。

图30概念性地例示用于在导航应用程序正在后台运行时提供指引的一些实施例的过程3000。图30将会相对于首先简要描述的图31来描述。图31例示一些实施例的用户界面,其中当导航应用程序正在后台运行并且另一个应用程序正在前台运行时给出导航指令。该图示出六个阶段3101-3106。第一阶段包括状态条3180、导航状态条3110和前台应用程序3115。剩余阶段3102-3106示出在设备向前移动并且随后通过导航点(本文有时称为操纵,一些导航点表示道路中的交叉点)时对导航状态条3110的改变(即,导航状态条3110由导航指令条3120-3150的替换)。

如图30中所示,过程3000在前台显示(在3005)导航应用程序。该过程随后确定(在3010)是否已经激活控件(例如,图29的按钮2915)。如果没有激活,该过程保持在前台显示导航应用程序直到控件被激活(或在一些实施例中,直到一些其它控件被激活或设备进入睡眠模式)。当控件被激活时,该过程在前台显示(在3015)应用程序启动模式,并且显示(也在3015)导航状态条3110以指示导航正在后台运行。这在图31中的阶段3101中示出。

本领域的普通技术人员将会理解,在一些实施例中,导航条(导航指令条和/或导航状态条)显现在一些或所有前台应用程序而非仅仅应用程序启动应用程序的顶部处。在一些实施例中,一个或多个控件的激活使得启动应用程序之外的应用程序移动至前台。此外,在一些实施例中,在一个前台应用程序和另一个之间进行切换之后,而非仅仅在从导航应用程序直接切换至特定前台应用程序时,导航条继续显现在前台应用程序的上方。正显示在另一个应用程序上方的导航条的示例在下述图32中示出。

过程3000随后确定(在3020)用户设备是否在导航点(例如,在路标转弯处)附近。当应用程序确定(在3020)设备并不在导航点附近时,显示保持如图31的阶段3101中所示。

阶段3101示出设备在导航应用程序作为后台应用程序活动并且前台应用程序3115是应用程序启动屏幕时的状态。尚未关闭导航应用程序,但替代地,已经使导航应用程序在后台开启。导航应用程序正在后台开启的阶段3101中的可见指示是导航状态条3110。另外,一些实施例在导航正在后台运行时以与状态条3180的通常颜色不同的颜色来显示状态条3180。在一些实施例中,状态条3180和导航状态条3110以不同色调的绿色示出。在一些实施例中,状态条和导航条中的一者或两者的颜色或色调随时间而改变,以便注意以下事实:导航应用程序正在后台执行。

在这个阶段3101,设备(和携带设备的人或车辆)远离下一个导航点。一些实施例的应用程序(包括图31中例示的应用程序)并不在应用程序正在后台运行的整个时间跨度上显示转弯信息。在一些此类实施例中,当设备并不在导航点附近时(例如,当没有转弯迫近时),设备在导航状态条3110中显示“触摸查看导航”或“触摸返回导航”、或指示选择导航条将使导航应用程序进入前台的一些其它消息。在其它实施例中,无论设备是否在导航点附近,导航指令都被显示。

重新参见图30,当过程3000确定(在3020)设备正在接近下一个导航点时,该过程将导航状态条3110改变(在3025)成显示新导航指令的导航指令条3120。这在图31的阶段3102中示出。在阶段3102中,设备正在接近导航点(500英尺之后的左转)。在这个阶段3102中,导航指令条3120显示导航指令,导航指令包括指示左转的箭头以及距左转的距离(500英尺)。过程3000随后显示(在3030)倒计时(以英尺计)直到过程3000确定(在3035)已通过导航点。

在一些实施例中,阶段3101和3102中的导航条被视为是偶然占据屏幕上的类似地方的独立实体。在此类实施例中,阶段3101的导航条可表征为“导航状态条”,而在阶段3102中具有导航指令的导航条可表征为“导航指令条”或“导航指引条”。在一些实施例中,导航指令条3120比导航状态条3110厚(例如,两倍厚度或更多倍厚度)并且盖住状态条。在其它实施例中,当导航条显示导航指引时,导航条被视为是扩展(例如,扩展到其先前厚度的两倍或更多倍)以盖住或替换状态条的单个实体。

在阶段3103和3104中,随着设备移动得更靠近导航点,在导航指令条3130(100英尺)和3140(0英尺)中的导航指令中倒计时距导航点的距离。在阶段3104中,指令已开始切换到下一指令。

在阶段3104中,实际转弯已经发生。导航指令条3150(在阶段3105中示出)中的导航指令正在以用于下一个导航点的指令替换导航指令条3140中的先前导航点指令。在包括例示的实施例的一些实施例中,导航指令以模拟具有多个面的翻动标志的形式来切换。因此,在指令3140开始翻动时,指令3140示出指令“0英尺左转”。在一些实施例中,标志上翻;在一些实施例中,标志下翻。在其它实施例中,设备使用其它转变方法来移除导航指令条3140中的旧导航指令,并且以导航指令条3150中的新导航指令来替换旧导航指令(在阶段3105中)。例如,一些实施例在旧指令向上、向下或向一旁滑动时模拟新指令在相同方向上的滑动。其它实施例模拟使新指令在旧指令之上滑动。其它实施例只是使得旧指令消失来由新指令替换。

当到达导航点时,过程3000确定(在3040)是否已经到达最终目标。如果已经到达最终目标,导航结束(这在下述图33中例示)。如果尚未到达最终目标,那么存在新导航点要显示(在3045)。这在图31的阶段3105中示出。

阶段3105紧接在已经完成左转之后发生。导航指令条3150中的导航指令已经完全替换导航指令条3140中的导航指令。导航指令条3150中的新导航指令指示距下一个导航点的有效距离。如上所述,一些设备的应用程序被编程主要在设备位于导航点附近时而非任何时间显示导航指令。因此,在导航指令条3150中显示下一导航指令持续预设时段之后(或在一些实施例中,在行进预设距离之后),在一些实施例中,应用程序在阶段3106中返回示出导航状态条3110(并且过程3000返回操作3015)。然而,当确定(在图30的3050)新导航点在附近时,过程3000立即开始倒计时(在3030)距下一个导航点的距离。不同实施例的不同应用程序使用各种不同距离来确定是否示出导航状态条3110或导航指令(例如,导航指令条3120中的指令)。在一些实施例中,应用程序在1英里、或半英里、或四分之一英里、或1000英尺、或750英尺、或500英尺、或250英尺、或一些其它距离处切换指令。

图32例示显示在应用程序的顶部处的导航条。该图表明,导航条显示在除应用程序启动应用程序之外的应用程序中。该图以阶段3201-3203示出。在阶段3201中,导航应用程序处于前台,并且用户已经输入命令(例如,双按按钮3210)以调出当前在后台运行的应用程序的列表。在阶段3202中,设备正在显示一组图标3220,这组图标3220表示当前处于后台运行的应用程序。在一些实施例中,这组图标3220向上推动在前台的应用程序的ui,如图所示。在其它实施例中,在前台的应用程序的ui被这组图标3220覆盖,而非是被向上推动。

第二阶段3202还示出:用户选择图标3225,图标3225命令由图标3225所表示的应用程序(例如,web浏览器)移至前台并且导航应用程序移至后台。本领域的普通技术人员将会理解,这仅仅是一些实施例将导航应用程序切换至后台并且将另一个应用程序切换至前台的许多方式中的一者。例如,用户可切换至应用程序启动视图并且启动应用程序,该应用程序随后将替换应用程序启动视图作为前台应用程序。

在阶段3203中示出设备切换到前台的web浏览器3230。导航指令条3235在屏幕的顶部处,导航指令条3235指示导航应用程序正在后台运行并且指引用户在50英尺之后右转。在一些实施例中,当导航应用程序当前并未提供指引时,状态条和导航状态条(例如,如图29中所示)将会显现。

在遵循由设备示出的导航指令之后,用户将会到达他的预期目标。图33例示一些实施例中的设备3300的用户界面,其中在导航应用程序正在另一个应用程序的后台运行时,设备到达其目标。该图示出三个阶段3301-3303。第一阶段3301示出导航指令条3310和前台应用程序3340。如图所示,导航指令条3310中的指令指示“直行50英尺”。

阶段3302例示接近目标时的用户设备3300。如这个阶段中所示,导航指令条3310指示“目标位于左侧”。阶段3303例示到达目标后的用户设备3300。如图所示,阶段3301和3302的导航指令条3310从屏幕移除,以便指示完成导航指令并且状态条3380返回屏幕。在一些实施例中,导航应用程序保持在后台打开,但在这个阶段3303未视觉地显示出来。在其它实施例中,导航应用程序在这个阶段3303自行关闭。在其它实施例中,设备在到达目标之后继续显示导航条。此外,一些实施例的应用程序标识一个位置作为车辆导航的终点,并且指示其余路程必须步行完成,这是导航应用程序所指引的(例如,在导航指令条中)。

阶段3303还示出图标3390尚未移动。然而,在其它实施例中,当导航指令条从屏幕移除时,图标3390可上移以占据在一些实施例中用于由导航指令条3310在先前阶段占据的空间的至少一部分。

如上所述,在一些实施例中,导航状态条和导航指令条被视为不同组件。上述图示出导航状态条位于状态条的下方。然而,在一些实施例中,当导航应用程序正在后台运行时,状态条本身被替换为导航标幅。在一些实施例中,这个导航标幅是常规状态条高度的两倍。一些实施例的导航标幅显示一些或所有与其所替换的状态条相同的信息。在一些实施例中,导航标幅在设备未在导航点附近时显示该信息,并且在设备正位于导航点附近时并不显示该信息。当设备正位于导航点附近时,一些或所有状态信息被移除,使得可更清楚地看到与将到来的导航点相关的指引。

执行一些实施例的导航应用程序的设备包括电话设备。在一些实施例中,当电话呼叫正由设备处理并且导航应用程序正在后台运行时,关于电话呼叫的数据(例如,呼叫时间)以电话呼叫状态条替换导航状态条或指令条。

图34例示呼叫状态条和导航指令条之间的交互。该图以三个阶段3401-3403示出。在阶段3401中,呼叫正在继续,同时设备正在显示应用程序启动视图。呼叫是由状态条3410下方的呼叫状态条3415指示。在一些实施例中,呼叫状态条指示呼叫正在进行,包含呼叫的持续时间的指示器,并且允许用户选择呼叫状态条以返回通常用于处理呼叫的屏幕视图。在一些实施例中,初始状态条3410(示出电池寿命等)转变成指示呼叫正在进行的颜色(例如,红色或绿色)。在一些实施例中,电话呼叫状态条3415的颜色与初始状态条在呼叫期间所显示的颜色类似(例如,都是红色调或都是绿色调)。

在一些实施例中,导航指令条3420在一些情况下重现并且替换电话数据。在阶段3402中,设备位于导航点附近。因此,导航指令条3420替换呼叫状态条3415和状态条3410。在通过导航点之后,重新显示呼叫状态条3415和状态条3410,如阶段3403中所示。在图34的例示实施例中,一通过导航点,就重新显示呼叫状态条。然而,在一些实施例中,直到在导航指令条3420中显示下一导航指令之后,才重新显示电话呼叫状态条。

阶段3302和3303示出图标3390尚未移动。然而,在其它实施例中,图标可上移或下移以占据不同空间,这取决于呼叫状态条3415和导航指令条3420的存在。

b.设备锁定时的指令

1.布局

在一些实施例中,具有多个功能的设备(例如,运行多个应用程序的移动电话)可从各种应用程序被置于锁定模式。在一些实施例中,存在将设备置于锁定模式的多种方式。一些实施例的锁定模式是以下模式:其中大多数的控件被禁用并且具有有限功能,直到设备解除锁定。在一些实施例中,这有益于防止用户意外地过早结束导航模式。在一些实施例中,解锁设备要求屏幕的特定部分上的特定手势命令。

一些设备具有关闭屏幕和/或将设备置于锁定模式的按钮。一些设备具有在用户命令之间已经经过一定时间之后关闭屏幕和/或将设备置于锁定模式的超时功能。无论应用程序进入锁定模式的方式如何,大多数此类设备离开锁定模式时在前台运行的应用程序与在进入锁定模式时在前台运行的应用程序相同。然而,在一些实施例的设备中,无论设备锁定时是哪个应用程序(或应用程序启动器)正在前台运行,如果导航应用程序正在后台运行,那么应用程序从锁定模式直接返回到导航应用程序。

图35例示进入锁定模式时导航应用程序在后台运行并且离开锁定模式时导航应用程序在前台运行的一些实施例的设备3500。该图以四个阶段3501-3504示出设备3500。在阶段3501中,应用程序启动器3520在前台,并且导航应用程序正在后台运行。正在后台运行的导航应用程序由屏幕的顶部处的导航条3510指示,导航条3510正好位于状态条3515下方并且位于前台应用程序启动器3520上方。如图所示,在阶段3501中,用户推动控件3590以锁定屏幕。

在阶段3502中,设备处于锁定模式(如由屏幕上的解锁滑块3530所指示)。在这个阶段中,地图3540示出在锁定屏幕上并且逐向指引示出在信息条3550上。

在阶段3503中,用户已经开始向右滑动解锁滑块3530以便解锁设备。在这个阶段中,地图3540显示在屏幕上并且逐向导航指引示出在信息条3550上。在一些实施例(未示出)中,当滑块始终向右移动时,用户就被要求输入密码以便解锁屏幕。在用户成功输入密码之后,屏幕解除锁定。在一些实施例中,在锁定模式下,在一些情况下并不示出指引和/或地图。例如,用于回答来电的界面可在呼叫进入设备时显示,并且用于处理呼叫的界面可在呼叫正在进行时显示。这种界面可覆写指引在信息条中的显示、地图的显示、或两者。类似地,在一些实施例中,其它显示视图可替换信息条、地图、或两者,即使导航应用程序仍在设备上运行也是如此。

然而,在屏幕解除锁定之后,导航地图3540留在前台(而非显示屏幕锁定之前在前台运行的应用程序3520)。如阶段3504中所示,导航应用程序在前台以全屏显现。在这个阶段中,屏幕解除锁定,并且导航指令3560和地图3540显示在屏幕上。在一些实施例中,导航应用程序包括与锁定屏幕视图中的地图3540在相同位置中的地图3540。因此,在一些实施例中,甚至对于在从锁定模式返回时通常使用锁定屏幕视图和其它视图之间的转变(例如,新屏幕视图从屏幕的中心划变或扩展开)的设备,在从阶段3503到阶段3504的转变中的设备将地图留在适当位置并且切换屏幕中的其它元素。即,在从阶段3503到阶段3504的转变期间,在导航条3510和解锁滑块3530消失并且替代地导航指令3560显现时,恒定地显示地图。如阶段3504所示,设备已从锁定模式直接返回导航应用程序,即使在设备锁定之前在阶段3501中导航应用程序正在后台而非在前台运行。

图36例示进入锁定模式时导航应用程序在前台运行并且离开锁定模式时导航应用程序在前台运行的一些实施例的设备3600。该图以四个阶段3601-3604示出设备。在阶段3601中,导航应用程序正在前台运行,并且地图3640和导航指令3660显示在屏幕上。如图所示,用户推动控件3690以锁定屏幕。

在阶段3602中,设备被置于锁定模式(如由屏幕上的解锁滑块3630所指示)。在这个阶段中,地图3640示出在锁定屏幕上并且逐向指引示出在信息条3650上。

在阶段3603中,用户已经开始向右滑动解锁滑块3630以便解锁设备。在这个阶段中,地图3640显示在屏幕上并且逐向导航指引示出在信息条3650上。当滑块始终向右移动时,用户被提示(未示出)输入密码以便解锁屏幕。在用户成功输入密码之后,屏幕解除锁定。如以上相对于35所述,在一些实施例中,在锁定模式下,在一些情况下并不示出指引和/或地图。例如,用于回答来电的界面在呼叫进入设备时显示,并且用于处理呼叫的界面在呼叫正在进行时显示。这种界面覆写指引在信息条中的显示、地图的显示、或两者。类似地,在一些实施例中,其它显示视图可替换信息条、地图、或两者,即使导航应用程序仍在设备上运行也是如此。

如阶段3604中所示,导航应用程序在前台显现。在这个阶段中,屏幕解除锁定,并且地图3640和导航指令3660显示在屏幕上。在一些实施例中,导航应用程序包括与在锁定屏幕视图中处于相同位置中的相同地图3640。因此,在一些实施例中,甚至对于在从锁定模式返回时将会具有转变屏幕(例如,新屏幕视图从中心划变或扩展开)的设备,在从阶段3603到阶段3604的转变中的设备将地图留在适当位置,并且在一些实施例中,切换屏幕中的其它元素。即,在从阶段3603到阶段3604的转变期间,在信息条3650和解锁滑块3630消失并且导航指令3660显现在显示器上时,恒定地显示地图。如阶段3604所示,设备已从锁定模式返回导航应用程序。

在先前两图中,用户推动控件以进入锁定模式。在一些实施例中,用户推动这种控件以关闭显示。稍后,当通过再次按下相同控件或通过按下另一个控件来重新打开显示时,设备随后在显示再次打开时示出锁定模式。类似地,在一些实施例中,设备具有超时功能,超时功能使显示在设备未接收命令的情况下已经经过某一特定的时间量之后关闭。在一些实施例中,当显示在这种锁定之后打开时,设备处于锁定模式。

除了(或在一些实施例中替代)在其它应用程序在前台时在导航条上给出导航指令,一些实施例的导航应用程序还在设备处于锁定模式时提供导航指令。图37例示本发明的一些实施例中的在锁定设备上给出指引的导航应用程序。该图以四个阶段3701-3704示出。在阶段3701中,设备屏幕正在显示状态条3780、导航条3710、地图3712、位置指示器3714和解锁滑块3716。本领域的普通技术人员将会理解,其它配置和控件在一些实施例的范围内是可能的。

在阶段3701中,设备靠近下一导航点,因此,导航条3710显示在500英尺之后右转的指令。在一些实施例(包括例示的实施例)中,导航条3710是半透的,从而允许透过导航条3710看到地图3712的特征。位置指示器3714相对于地图3712的特征指示设备的位置。地图本身包括设备所在的道路(科博路)以及导航应用程序指引用户朝向的道路(t路)。还显示:暗色线条3718,示出所指引的设备行程;以及较淡的线条3719,示出设备沿导航应用程序所选择的路线的先前位置。解锁滑块3716在激活时解锁设备。然而,在此图中并未使用解锁滑块3716。

当设备到达距导航点250英尺的点时,导航条改变指令,如在阶段3702中的导航条3720中所显示。位置指示器3714处于相同位置,但是地图3712已经相对于位置指示器3714下移。地图相对于位置指示器3714的新位置是导航应用程序示出设备已经移动得更靠近导航点的另一种方式。

类似地,在阶段3703中,导航条3730指示距导航点仅100英尺,并且位置指示器3714更靠近地图上的转弯。最终,在阶段3704中,设备已经绕过拐角,并且导航条3740正在显示下一导航指令。虽然并未在此图中示出导航指令之间的转变,但在一些实施例中,转变类似于所描述的后台模式下的转变(其中一个指令看似上翻,好像在标志的一侧那样,并且由看上去在标志的另一侧的另一个指令替换)。在其它实施例中,使用其它转变方法来移除旧导航指令3730并且用新导航指令3740来替换旧导航指令3730(在阶段3704中)。例如,一些实施例在旧指令向上或向一旁滑动时模拟新指令在相同方向上的滑动。其它实施例模拟使新指令在旧指令之上滑动。其它实施例只是使得旧指令消失并且替换成新指令。

新指令不是已经做出的转弯的唯一指示。地图3712已经旋转,使得设备所行进的方向(沿t路)在地图3712上被示出为向上。地图3712上的较淡的线条3719现在包括设备刚刚已转过的拐角。

虽然位置指示器3714在图37中被示出为始终具有相同尺寸,但在一些实施例中,在锁定模式和常规导航模式中的一者或两者下,根据缩放水平,位置指示器具有不同尺寸。例如,在一些实施例中,地图放大越多,位置指示器就变得越大。类似地,位置指示器3714始终被示出为具有箭头。然而,在一些实施例中,在一些情况下并不示出箭头。例如,在一些实施例中,当设备在建筑物(或以其它方式偏离所有道路)中而非在道路上时,并不示出箭头。位置指示器3714在图37中被示出为不透明的,然而在一些实施例中,位置指示器是半透的、半透明的、或透明的,以便示出在其“下面”的道路。

当在锁定模式下操作时,一些实施例的导航应用程序提供指引,直到设备到达其目标。图38例示当设备到达其目标时的一些实施例的锁定模式视图。该图以四个阶段3801-3804示出。在阶段3801中,地图3840示出在当前位置指示器3814后方的较淡的线条3819。在位置指示器3814前方,较暗的线条3818在指示目标的圆圈3812处结束。根据导航条3810,目标位于前方50英尺处。

在阶段3802中,一旦设备到达其目标,导航条3820就示出目标位于右侧,较暗的线条3818不会再示出在地图3840上。在一些实施例中,设备随后显示设备已“到达”的消息,如阶段3803中所示。随后在阶段3804中,当导航应用程序并不提供导航指令时,导航应用程序将锁定屏幕释放成其任何默认配置的情况。在例示的实施例中,默认配置包括时间和日期指示器3830。

此图以2d地图例示锁定模式视图。然而,一些实施例的地图绘制应用程序可在以3d形式示出地图时在锁定模式下操作。

2.通知管理

在一些实施例中,设备向它们的用户通知将到来的消息和其它值得注意的事件。甚至在此类设备处于锁定模式时,一些此类设备仍可显示通知。然而,使通知留在屏幕上持续延长的时间段可能从也显示在屏幕上的导航指令分心。因此,一些实施例在屏幕上简要地显示通知,并且随后使得通知可访问但不可见。在一些实施例中,存在指示存在通知项目等待阅读的可见但不突出的标志。图39例示一些实施例的锁定视图通知系统。该系统以四个阶段3901-3904示出。

在阶段3901中,导航条3910正在屏幕的顶部处的状态条3980下方显示导航指令。通知消息3912在地图3940之上显示在屏幕上,用于指示已经接收文本消息。未在例示的实施例中显示实际文本消息,但是显示实际文本消息的实施例在本发明的范围内。一些实施例在通知消息3912中显示文本消息发送者的名字(如果已知的话)或文本消息所来自的电话号码。

一些实施例的应用程序在通知消失而使完整地图3940再次可见之前显示通知持续预设长度的时间。一些应用程序显示通知持续少于5秒,一些持续5秒,并且一些持续超过5秒。一旦通知消失,抽屉控件3922在阶段3902中在导航条3910中显现。一些实施例的应用程序、包括所例示的应用程序允许抽屉控件3922扩展(例如,通过在抽屉控件上向下拖动的触摸手势),以便打开所接收的通知项目的列表。其它实施例的应用程序允许轻击抽屉控件以打开列表,或双击抽屉控件以打开列表。类似地,其它应用程序允许通过其它手段(例如,选择,诸如对相关联的光标控制设备的点击)来选择抽屉控件。

在例示的实施例中,抽屉3934在阶段3903中被视为是打开的。在这个阶段3903中,抽屉(在这种情况下,包括仅仅一个文本消息3932和一个未接呼叫3933)以列表形式示出,该列表从导航条3910的底部向解锁滑块3915的顶部覆盖地图。然而,在一些实施例中,抽屉是半透的、半透明的、或透明的,从而允许透过列表看到地图。在一些实施例中,抽屉仅仅部分地覆盖地图3940(例如,覆盖地图的一半,或仅覆盖地图的示出抽屉中的所有文本消息和其它通知项目所需要的那部分)。在一些实施例中,如果通常将会发送给抽屉的新消息或通知在抽屉打开时到达,消息将立刻被添加至抽屉(在各种实施例中,在显示或不显示弹出通知的情况下)。

在一些实施例中,当消息列表太长以致无法配合在屏幕上时,如果必要的话,列表可向上和向下滚动。在一些实施例中,当用户结束查看消息列表时,用户可通过激活控件来关上抽屉(例如,硬件或屏幕上控件,诸如关闭显示的控件)。在一些实施例中,抽屉将会保持打开直到用户关闭显示,并且随后再次重新打开。在一些实施例中,控件还可包括通过手势命令诸如在列表上或在屏幕上的其它位置上的轻击、双击或滑动手势(例如,抽屉的一部分或全部作为控件情况下的向上滑动手势)激活的任何数量的控件。在一些实施例中,控件还可包括鼠标或其它光标控制设备的按钮或其它组件等。

另外,除了或替代使得控件关上抽屉,一些实施例显示打开的抽屉,在打开的抽屉消失而使得完整地图3940再次可见之前持续变化长度的时间,如阶段3904中所示。阶段3904包括抽屉控件3922。然而,在一些实施例中,在抽屉3934关上之后,抽屉控件3922直到新消息到达才被示出。

假设导航仍是活动的,在关上抽屉之后,如果另一文本消息或通知到达,阶段3901-3904以新消息重复。在一些实施例中,阶段3904只有在用户关上抽屉时发生。在一些实施例中,如果抽屉保持打开,那么显示在阶段3903中保持。此外,抽屉打开阶段3903可不是紧随阶段3901和3902。在一些实施例中,如果用户并未打开抽屉,那么在新消息通知显现时显示抽屉控件3922的情况下,阶段3901-3902在多个消息中的每个消息进入并且抽屉保持关上时重复。

在一些情况下,用户可决定在打开抽屉3934之前解锁设备。在一些实施例中,设备在具有通知情况下退出锁定模式的正常行为是在屏幕上列出通知。然而,在一些实施例中,当导航应用程序正在运行时,打开进入导航应用程序比显示通知消息优先。因此,那些实施例的设备解锁并且打开进入导航应用程序,而非打开进入通知消息的列表。在一些此类实施例中,用户可选择在打开导航应用程序之后打开通知消息的列表。图40例示本发明的一些实施例中的在解锁设备之后查看通知消息。该图以六个阶段4001-4006示出。

在阶段4001中,导航条4010正在屏幕的顶部处的状态条4080下方显示导航指令。通知消息4012在地图4040之上显示在屏幕上,用于指示已经接收文本消息。未在例示的实施例中显示实际文本消息,但是显示实际文本消息的实施例在本发明的范围内。一些实施例在通知消息4012中显示发送者的名字、发送者的电话号码、或两者。不同实施例的应用程序显示通知,在通知消失而使得完整地图4040再次可见之前持续变化长度的时间。一些应用程序显示通知持续少于5秒,一些持续5秒,并且一些持续超过5秒。

一旦通知消失,抽屉控件4022在阶段4002中在导航条4010中显现。阶段4001与图39的阶段3901相同。然而,在阶段4002中,用户不是打开抽屉4022,而是利用解锁滑块4016解锁设备。用户已经利用正在后台运行的导航应用程序解锁设备,因此在阶段4003中,导航应用程序在前台显现。如图所示,导航应用程序要比显示通知消息优先。

在一些实施例中,导航应用程序并不示出抽屉控件。然而,通过向下拖动屏幕的上死点(如阶段4004中所示),用户可使抽屉4044下来(如阶段4005中所示)。在一些实施例中,当手指向下拖动抽屉4044时,抽屉控件4022在正在拖动的手指下方显现。在其它实施例中,当导航应用程序在前台时,必须采用多次拖动。例如,在一些实施例中,屏幕的顶部处的一个拖动手势用于暴露抽屉控件4022,并且抽屉控件4022上的独立拖动手势用于打开抽屉。阶段4005示出抽屉4044完全延伸并且覆盖整个屏幕。文本消息4052在屏幕的顶部处显现。

在一些实施例中,抽屉保持打开,直到用户关上抽屉(此时,导航应用程序再次显现)或锁定设备。在一些实施例中,抽屉可通过向上拉动抽屉控件4022来关上。在其它实施例中,抽屉无法通过向上拉动抽屉控件4022来关上,但可通过一些其它控件(例如,按钮或手势命令)来关上。例如,在一些实施例中,可例如通过激活控件4090来锁定设备,这也关上抽屉。一些实施例还在预先确定的时间量之后自动关上抽屉。在一些实施例中,在打开抽屉之后,处于锁定模式或解锁模式下,一旦抽屉被关上,抽屉就清空并且不再可从锁定模式视图访问,如阶段4006中所示,其中抽屉控件4022不再呈现。即,将仅在接收新通知时再次显示抽屉控件4022。然而,在其它实施例中,抽屉控件4022不被移除,仅在采用关上抽屉的某些方法时被移除,或在解锁模式下打开抽屉的情况下而不是在锁定模式下打开抽屉的情况下被移除。

在一些实施例中,抽屉在独立区域中显示不同类型的消息。例如,一些实施例在不同于“未接呼叫”消息的独立区域中显示文本消息。在一些实施例中,当抽屉在解锁模式下被打开时,抽屉在独立区域中显示不同类型的消息,但是锁定模式下的抽屉不在独立区域中显示不同类型的消息。在其它实施例中,当抽屉在解锁模式下被打开时,抽屉在独立区域中显示不同类型的消息,并且锁定模式下的抽屉也在独立区域中显示不同类型的消息。在其它实施例中,锁定模式下的抽屉针对不同消息类型使用独立区域,并且解锁模式下的抽屉并不如此。在其它实施例中,抽屉也不区分消息类型。

3.动态打开

功率节省是应用程序的一些实施例的特征。在一些实施例中,在锁定模式下操作的导航应用程序仅在设备接近导航点或接收通知时打开屏幕。图41例示本发明的一些实施例中的用于在接近导航点时打开设备屏幕的过程4100。图41将会相对于首先简要描述的图42来描述。图42例示本发明的一些实施例中的在导航应用程序在后台运行时未向设备给出命令时设备所经历的多个阶段。图42以从4201至4206的六个阶段来例示。将在描述图41期间在适当地方描述各个阶段。

图41的过程4100在屏幕关闭之前通过利用在后台运行的导航应用程序来显示(在4105)应用程序开始。图42的阶段4201例示设备的锁定前状态。这个阶段4201包括前台应用程序4212(应用程序启动视图),其中导航条4210在屏幕的顶部处的状态条4280下方指示导航应用程序正在后台运行。

在一些实施例中,当设备在预先指定的时间量(例如,5分钟、15分钟等)内未接收到命令时,设备关闭屏幕并且进入锁定模式。该过程确定(在4110)任何控件是否已经在针对锁定设备并且关闭屏幕而预先指定的时间量内被激活。如果任何控件(不是立即关闭显示和/或锁定设备的控件)已经被激活,那么设备重置其要关闭显示并且进入锁定模式的倒计时。

当该过程确定已经经过足够时间时,该过程关闭屏幕(在4115)。在一些实施例中,替代或除了超时屏幕去激活,存在用户可选择以将设备置于锁定模式的控件(例如,按钮)。在一些实施例中,超时屏幕去激活在一些应用程序正在运行时而不是在其它应用程序正在运行时发生。例如,在一些实施例中,当导航应用程序正在前台运行时,设备不会在预设时间之后关闭屏幕。此外,在一些实施例中,当导航应用程序正在后台运行时,设备也不超时。

操作4115在图42的阶段4202中例示。阶段4202示出屏幕是黑色,因为屏幕已经通过超时、控件或以某种其它方式关闭。当屏幕关闭并且设备朝向下一导航点行进时,过程4100重复确定(在4120)设备是否在下一导航点附近。如果设备不在下一导航点附近,设备将会继续检查设备是否在导航点附近。“附近”在不同实施例的应用程序中意指不同距离。

在不同实施例中,当设备距导航点1000英尺、或500英尺、或250英尺、或任何其它特定距离时,设备确定它在导航点附近。一旦过程4100确定(在4120)设备在导航点附近,该过程就打开(在4125)环境光线传感器。在一些实施例中,环境光线传感器是设备的相机的一部分。在其它实施例中,环境光线传感器不是设备的相机的一部分。在一些实施例中,环境光线传感器始终打开。在一些实施例中,环境光线传感器是无需供电以运作的无源元件。环境光线传感器确定设备周围存在多少光线。如果存在大量光线,那么屏幕将必须以高亮度水平打开,以便在现有光线可见。然而,如果存在低量环境光线,那么屏幕能以较暗水平打开并且仍亮到足以在较弱环境光线下可见。

一旦确定光线水平,过程4100就根据环境光线传感器所检测的环境光线水平来以一定亮度水平打开(在4130)屏幕。屏幕随后显示(在4135)到下一导航点的倒计时。这在图42的阶段4203中例示。该图示出导航条4230,导航条4230具有指示右转的箭头和在1000英尺之后右转的指令。该过程随后确定(在4140)是否已经过导航点。如果尚未经过导航点,那么过程4100返回操作4135。该过程随后继续显示到下一导航点的倒计时。倒计时的一部分在图42中的阶段4204中示出。在阶段4204中,导航条4240指示距右转还有200英尺。一旦设备经过导航点(在这种情况下,进行右转),过程4100就确定(在4145)设备是否位于其目标处。如果设备位于其目标处,那么导航过程结束。如果设备不在其目标处,那么该过程显示(在4150)下一导航指令。这在图42中的阶段4205中示出。在这个阶段中,导航条4250显示直行2.8英里。

如果过程4100确定(在4155)下一导航点在附近,那么该过程返回操作4135并且对下一导航点进行倒计时。然而,这不是图42中的情况。如果该过程确定(在4155)设备并不在下一导航点附近,那么过程4100关闭屏幕(在4115)。这在阶段4206中示出,阶段4206示出黑屏。本领域的普通技术人员将会理解,在一些实施例中,图42的阶段4202和4206中的词语“功率节省模式”意指概念性地例示显示已关闭并且这些词语在功率节省模式期间并不物理地显示在屏幕上。

上述附图示出设备在其位于预先确定的导航点附近时打开显示,并且在其并不位于预设导航点附近时关闭显示。然而,在一些实施例中,如果用户偏离规定路线(例如,用户错误转弯),设备也打开显示。在一些此类实施例中,设备显示“重新规划路线”消息,直到设备已计算出新路线。在一些实施例中,设备随后显示下一导航指令,并且随后关闭显示,除非下一导航点在阈值距离内。

以与一些实施例的导航应用程序在设备接近导航点时在锁定模式下打开屏幕的方式类似的方式,一些实施例的设备在导航应用程序正在运行时接收到通知时打开屏幕。图43概念性地例示用于在接收到通知消息时打开屏幕的一些实施例的过程4300。过程4300将会参考先前所述图39来描述。过程4300以关闭屏幕(在4305)开始。可出于相对于图41讨论的任何原因关闭屏幕。该过程随后等待(在4310)直到它接收到通知。当过程4300接收通知时,该过程打开(在4315)环境光线传感器(如以上在图41的操作4125中所述)。该过程随后根据环境光线传感器所检测的环境光线水平以一定亮度水平打开(在4320)屏幕。该过程随后显示(在4325)通知。这在图39中的阶段3901中示出为弹出消息3912。该过程随后将通知放在(在4330)如相对于图39的阶段3902所述的抽屉中。

该过程随后确定(在4335)是否已经在期限之前打开抽屉(例如,通过用户滑动抽屉控件3922)。如果在期限内尚未打开抽屉,那么该过程再次关闭屏幕(在4305)。如果已经在期限之前打开抽屉,那么消息被显示(在4340),例如,如图39中所示(如阶段3903,其中显示消息3932)。该过程随后确定(在4345)是否已经关上抽屉。如果已经关上抽屉,那么该过程返回操作4305并且在超时时段之后关闭屏幕。即,在一些实施例的应用程序中,在关闭屏幕之前,应用程序在抽屉关闭之后等待一定时间量。

在一些实施例中,如果过程4300确定(在4345)抽屉保持打开,那么该过程确定(在4350)是否已经达到超时时段。如果尚未达到超时时段,那么该过程继续显示(在4340)消息。如果期限在由用户关上抽屉之前耗尽,那么该过程关闭屏幕(在4305)。在一些实施例中,如果用户正在向设备发送命令(例如,滚动通过消息),那么到期限的倒计时将不会开始,直到设备停止接收来自用户的命令。

本领域的普通技术人员将会理解,尽管单独描述图41的过程4300和图43的过程4100的流程图,但是在一些实施例中,它们同时进行并且在这些过程中的任一过程要求屏幕打开时屏幕将会打开。在一些情况下,当导航点变成在附近时,屏幕将会出于通知原因而已经打开。在这些情况中,屏幕不是如过程4100所指示那样打开(在4130),而是将只是保持打开,即使过程4300要求屏幕关闭(在4305)也是如此。类似地,在一些实施例中,过程4100和4300将会继续,直到设备解锁、或到达目标(如图41中的过程4100的操作4145中所示)。

如上所述,处于锁定模式下的设备具有数量有限的活动控件。然而,在一些实施例中,当锁定模式可操作时,锁定屏幕上的地图可通过在用户希望移动地图的方向上的手势命令来更大或更小程度地向一侧、向上和向下移动。在一些实施例中,当释放设备时,地图返回到其默认位置。

iv.免持导航和语音引导

除了以视觉形式提供信息并且通过各种基于触摸或基于运动的输入设备(例如,键盘、鼠标、操纵杆、触摸板、触敏屏等)接收输入和命令,一些实施例的导航应用程序支持并不要求用户的视觉注意和/或用户身体或手的物理移动的另选模式的用户交互。例如,在一些实施例中,导航应用程序包括交互式地图应用程序(或交互式导航应用程序),该应用程序以可听形式向用户提供信息(例如,像自然语言语音),并且接收言语形式的用户输入和命令(例如,像自然语言语音)。通过使交互式地图免除用户的视觉注意和物理移动,交互式地图允许用户在从交互式地图获得信息时参与其它活动(例如,驾驶、步行、调查周围环境或打包旅行)。另外,通过交互式地图的音频/言语用户接口,用户能够更容易地从交互式地图调用并且索取信息或援助(例如,一旦需要信息或援助),而不脱离用户的当前活动。

a.在锁定屏幕活动时访问交互式地图并且导航

在一些实施例中,移动设备实现锁定屏幕,从而防止访问移动设备上安装的各种应用程序,直到从用户接收到密码或其它输入。移动设备任选地允许用户以言语方式调用并且访问移动设备上安装的交互式地图,而无需解锁锁定屏幕。

在一些实施例中,语音激活服务通过激活按钮或控件来发起。在其它实施例中,当在设备音频输入端处接收到的语音水平响于一定阈值(和/或由设备识别自然语言词语)时,语音激活服务自动激活。

在一些实施例中,当设备锁定屏幕活动时,设备接收请求访问交互式地图的语音输入。语音输入可为对指引的言语请求、对执行本地搜索(例如,对餐厅、加油站、住所等的搜索)的言语请求,或只是激活交互式地图的言语命令。响应于语音输入,设备通过音频输出和语音输入用户接口来使功能(例如,提供指引和执行搜索)的至少一个子集对用户可用,而无需去激活设备锁定屏幕。在一些实施例中,交互式地图响应于用户的语音输入而通过锁定屏幕提供仅音频输出。

在一些实施例中,在操作的仅音频模式下,禁用与交互式地图的基于触摸和基于键盘的交互。通过允许用户通过仅音频用户接口来直接从锁定屏幕访问交互式地图,使得交互式地图对用户来说更容易访问,而不会显著地危害用户设备的安全。在一些实施例中,响应于语音输入,连同音频输出(例如,向用户读出信息),在锁定屏幕上向用户提供视觉信息(例如,搜索结果的列表)。在一些实施例中,设备处理用户的语音输入,以便确定用户的身份并且确定是否应当允许对交互式地图的访问。

在一些实施例中,当未使用语音激活导航时,导航要求至少三个步骤:找到若干结果(搜索);示出对结果的指引或示出到单个目标地址的若干路线(示出概览);以及随后使用所选择的路线开始导航(示出逐向指引)。然而,利用语音激活导航,一些实施例预期免持交互并且利用单个搜索结果发起导航。为了有利于语音激活(或免持)导航,这些实施例仅显示一条路线(而非通常的若干路线)。

例如,交互式导航找到使用高速公路的短路线、使用另选高速公路的较长路线、以及不使用高速公路从当前位置到特定目标的路线。一些实施例在语音激活导航期间选择所找到的若干路线中的一条路线(例如,基于默认设定、用户偏好设定、过去用户偏好等),并且任选地显示路线的概览并等待路线加载。设想免持交互,单条路线被显示,并且显示转变成全屏逐向导航显示。如下所述,当搜索期间找到若干目标(例如,沿路线的若干加油站)时,在一些实施例中,语音激活服务使用列表读出机制来以顺序方式循环通过结果。

图44概念性地例示本发明的一些实施例中的用于执行与交互式地图的语音激活交互的过程4400。如图所示,该过程接收(在4405)开始与交互式地图的交互的语音命令。语音命令可以是诸如“到道奇体育场”的到目标的命令,“找到地中海餐厅”的开始搜索的命令、或“开始导航”的启动交互式地图的命令。

该过程随后将导航模式设定(在4410)成语音激活模式。该过程随后确定(在4415)设备锁定屏幕是否活动。如果是,该过程转到下所4440。否则,该过程加载(在4420)路线的概览。在一些实施例中,该过程仅显示一条路线(而非通常的若干路线),以便有利于语音激活(或免持)导航。在一些实施例中,当未使用语音激活导航时,导航要求至少三个步骤:找到若干结果(搜索);示出对结果的指引或示出到单个目标地址的若干路线(示出概览);以及随后使用所选择的路线开始导航(示出逐向指引)。然而,利用语音激活导航,一些实施例预期免持交互并且利用单个搜索结果发起导航。如以下参见图53和55进一步所述,一些实施例以成批方式循环通过若干搜索结果,以便允许用户选择搜索结果。在这些实施例中,在用户选择特定目标之后,将来自若干可能路线中的单条路线设定到所选择的目标。即使找到若干路线,这些实施例也仅显示一条路线,并且如果语音激活导航未在使用,将会显示所有找到的路线。

该过程随后从概览屏幕转变(在4425)成全屏逐向显示。该过程随后更新(在4430)屏幕,并且提供逐向音频和视觉指引。该过程随后确定(在4435)导航是否已经结束(例如,到达目标)。如果已经结束,该过程退出。否则,该过程转到所述4430。

图45例示本发明的一些实施例中的在锁定屏幕未活动时的用户设备4500。该图示出四个阶段4501-4504。如阶段4501中所示,用户激活语音激活导航(例如,通过触摸按钮4505),并且做出对导航至办公室的言语请求(如由箭头4510所示)。在阶段4502中,屏幕显示用户和语音激活服务之间的可听交互。在一些实施例中,语音激活服务提示(在这种情况下,“我能为您做些什么?”)并且用户的言语请求被转换成文本并且显示在屏幕上,以便向用户示出言语命令如何由语音激活服务解释。用户和语音激活服务之间的音频交互的显示有利于例如在嘈杂地方进行的通信。为了简化附图,在本说明书中描述的一些附图中,示出通信的转录本的屏幕(诸如阶段4502中的屏幕)并不针对用户和语音激活服务之间的每次通信示出。

另外,一些实施例在导航期间并不在屏幕上显示用户和语音激活服务之间的通信的转录本,使得地图和导航指引的显示不被中断。其它实施例将通信的转录本显示在相同屏幕上(例如,当显示导航屏幕时),而非使用独立屏幕、诸如阶段4502中示出的屏幕。

对言语导航命令的接收导致概览屏幕4515得以显示,如在阶段4503中所示。一些实施例在通过言语命令激活导航时仅显示一条路线4535,从而有利于免持导航。如图所示,路线是由两个标记或图钉来标识。一个标记4540标识路线的起点,并且另一标记4545标识路线的终点。在短延迟之后,显示转变成全屏逐向显示4520,如阶段4504中所示。语音激活导航服务继续提供可听指引(如箭头4525所示)以及视觉逐向指引(如箭头4530所示)。

重新参见图44,当该过程确定锁定屏幕活动时,该过程确定(在4440)选项是否被设定在屏幕锁定时进行导航。一些实施例提供用于允许在屏幕锁定时导航的用户可选选项。其它实施例在锁定屏幕活动时始终允许至少有限的导航功能。当选项并不允许在锁定屏幕活动时导航时,该过程退出。

否则,该过程确定(在4445)开始导航的音频命令是否被识别为授权用户。一些实施例使用语音识别来将针对音频命令所接收(在4405)的语音与来自设备的授权用户的语音样本进行比较,以便防止已经获得具有锁定屏幕的设备的未授权用户使用设备。并不对授权用户的语音进行校验的实施例绕过操作4445。如果未识别出语音,该过程结束。否则,该过程选择到目标的一条路线。如上所述,一些实施例仅显示到特定目标的一条路线(而非通常的若干路线),以便有利于语音激活(或免持)导航。在这些实施例中,即使找到若干路线,也仅显示一条路线,并且如果语音激活导航未在使用,将会显示所有找到的路线。当存在多于一个目标(例如,沿路线找到若干意大利餐厅)时,一些实施例(如在以下参见图53和55进一步描述)以成批方式循环通过若干搜索结果,以便允许用户选择搜索结果中的一者。在用户选择特定目标之后,将来自若干可能路线中的单条路线设定到所选择的目标。

随后,该过程确定(在4450)锁定屏幕情况下的导航是否只允许通过音频进行。如果是,该过程转到下所4470。否则,该过程示出(在4455)使用导航功能、诸如提供指引和示出搜索结果的列表的至少一个子集在锁定屏幕中运行的导航。该过程还提供(在4460)可听信息,诸如逐向指引、向用户读出搜索信息等。

图46例示本发明的一些实施例中的锁定屏幕活动情况下的用户设备4600。该图以四个阶段4601-4604示出。在阶段4601中,屏幕被锁定。锁定屏幕要求(如由解锁滑块4605所示)解锁屏幕并且输入密码以解锁屏幕,以便访问不同应用程序。然而,用户设备允许用户以言语方式调用并且访问移动设备上安装的交互式地图,而无需解锁锁定屏幕。

如阶段4602中所示,用户激活语音激活导航(例如,通过触摸按钮4615),并且做出对导航至住宅的言语请求(如由箭头4610所示)。在阶段4603中,在屏幕上转录用户和语音激活服务之间的交互。在阶段4604中,语音激活服务利用交互式地图应用程序来显示其中显示单条路线4680的地图4620并且开始提供逐向导航指引。在一些实施例中,提供视觉指引(如信息标幅4670中所示)以及可听指令(如箭头4625所示)。一些实施例显示路线的概览(类似于上述屏幕4515),并且在短延迟之后,转变成在锁定屏幕中示出逐向指引的屏幕。其它实施例在锁定屏幕活动时并不示出路线概览,并且直接转变成逐向导航屏幕。另外,由于用户请求(即,回家)产生仅一个目标,路线在没有与用户的任何进一步交互的情况下显示。另一方面,当找到多于一个目标(例如,响应于对找到旅馆的请求)时,允许用户选择搜索结果中的一者,如以下参见图53、54a-54d和55所述。

重新参见图44,该过程随后确定(在4465)导航是否已经结束(例如,当到达目标或由用户停止导航时)。如果如此,该过程结束。否则,该过程转到所述4455。

当该过程仅允许通过音频进行时,该过程提供(在4470)可听信息,诸如逐向指引、向用户读出搜索信息等。该过程随后确定(在4475)导航是否已经结束(例如,当到达目标或由用户停止导航时)。如果如此,该过程结束。否则,该过程转到所述4470。

在一些实施例中,当锁定屏幕活动并且仅允许通过音频进行导航时,不允许所有其它用户输入,诸如通过基于触摸或基于运动的输入设备。图47概念性地例示本发明的一些实施例中的用于在激活锁定屏幕时提供语音激活导航的过程4700。在一些实施例中,结合语音激活服务所使用的其它过程利用此过程,以便确定是否应当仅允许语音激活命令。如图所示,该过程接收(在4705)开始导航的言语命令。该过程随后将导航模式设定(在4710)成语音激活模式。

该过程随后通过基于触摸或基于运动的输入设备接收(在4715)用户命令。该过程确定(在4720)锁定屏幕是否活动。如果不是,该过程响应用户命令(在4730)。随后,该过程退出。在过程4700与其它语音激活过程一起使用的实施例中,过程使控件返回(在4730)至其它语音激活过程,以便响应用户请求。当锁定屏幕活动时,该过程确定(在4725)是否仅允许通过音频进行导航。如果不是,该过程转到上述4730。否则,该过程任选地发出(在4735)短警告声(例如,蜂鸣声)。随后,该过程忽略(在4740)用户输入。随后,该过程退出。

b.使用自然语言话语的导航

在一些实施例中,允许用户通过自然语言语音查询诸如“我如何从时代广场到帝国大厦?”从交互式地图请求点到点的指引。交互式地图通过例如视觉地和/或可听地向用户提供点到点的指引来响应于用户的查询。当用户从一个位置行进到下一位置时,交互式地图任选地(例如,根据用户的言语请求)以可听形式向用户提供信息,诸如到目标的时间、距目标的距离以及当前位置。在一些实施例中,向用户提供来自交互式地图的可听响应,而无需去激活用户的设备的锁定屏幕。

在一些实施例中,当用户在各个位置间进行导航时,交互式地图提供子指引。子指引是基于用户的当前位置、计划路线、目标和/或用户对信息的请求来提供。例如,当沿路线驾驶到预先确定的目标时,用户可向交互式地图询问“我右侧的建筑物是什么?”、“我下面应走哪条路?”、“我在哪儿可以加油?”或“我在哪儿可找到意大利餐厅?”。对于这些问题中的每个,交互式地图考虑到用户的当前位置、用户当前所行走的路线和/或目标,并且提供概念性地相关的响应,诸如“那是轮渡大厦”、“在下一拐角处左转”、“这里是下五个出口附近的加油站的列表:……”或“这是您目标附近的意大利餐厅的列表……”。

在一些实施例中,当用户正沿路线行进时,交互式地图处理来自用户的各种自然语言话语,并且响应于话语检索并呈现用户的当前导航状态。示例性导航状态信息包括关于以下各项的信息:用户的当前位置和用户的目标之间的距离、到达用户的目标的估计时间、用户的当前位置和沿当前或计划路线的下一路标(例如,下一转弯、下一出口或下一地标)之间的距离、到达沿当前或计划路线的下一路标的估计时间、对沿路线的下一路标的描述、对目标的描述等。

图48概念性地例示本发明的一些实施例中的用于在用户沿路线行进时接收自然语言话语并且检索和呈现用户的当前导航状态的过程4800。响应是基于用户设备的当前设定可听地和/或视觉地提供。如图所示,该过程接收(在4805)导航或地图相关的自然语言话语。该过程随后确定(在4807)话语是否具体地与导航相关(例如,我的下一转弯是什么)。如果不是,该过程转到下述4825。否则,当话语具体地与导航相关时,该过程确定(在4810)导航是否继续。一些实施例在导航开始时(例如,在选择目标、找到搜索结果、或通过命令明确开始导航时)设定指示器或标记。过程4800利用这个导航指示器来确定导航是否继续。在一些实施例中,这个指示器偏向语音识别,以便将言语命令与用于导航的自然语言短语的列表进行比较。一些实施例支持导航期间就基本体而言的多个免持问答任务,这些基本体例如像剩余时间、剩余距离、沿路线的建筑物或对象的标识、沿路线的不同服务诸如加油站的位置、将到来的导航指引、如何到达某处、基于当前对话情景的问题等。

当话语与导航相关并且导航并不继续时,该过程播报在4815)导航未在进行。例如,响应于“我的下一转弯是什么”,该过程可回答“尚未设定路线”或“尚未选择目标”。该过程随后忽略(在4820)话语。随后,该过程结束。

当话语正好与地图相关(例如,距下一加油站有多远)时或当话语与导航相关并且导航继续时,该过程确定(在4825)话语是否与距目标、距路标的距离相关、或与导航或地图相关的任何其它基于距离的问题。如果不是,该过程转到下述4830。否则,该过程确定(在4835)当前位置和目标或路标之间的距离。例如,用户话语“距我多远”及其自然语言变型(例如,“距我们多远”、“我还要走多远”等)将使得交互式地图基于用户的当前位置和目标的位置来检索和呈现距目标距离的信息。

类似地,用户话语“下一转弯距我多近”及其自然语言变型(例如,“下一转弯距我多远”)将会使得基于用户的当前位置以及当前或计划路线上的下一路标的位置来检索和呈现距下一路标距离的信息。该过程随后基于所确定的距离提供(在4840)响应。随后,该过程结束。

该过程确定(在4830)话语是否与到目标的时间、到路标的时间或与导航相关的任何其它基于时间的问题相关。如果不是,该过程转到下述4855。否则,该过程基于当前时间、当前位置、当前速度、当前位置和另一位置之间的速度限制、当前交通状况等来确定所查询的时间。

例如,用户话语“我还要走多久”及其自然语言变型(例如,“我何时才能到达那里”、“距我多近”、“我要多久才能到那里”、“我们要多久才能到那里”、“我何时将到达那里”、“我何时到达那里”、“我应何时到达那里”、“我们应何时到达那里”、“要走多长的路”、“我将何时到达[目标名称]”等)将会使得对到目标时间的信息进行检索并向用户呈现。在一些实施例中,到目标时间的信息是基于当前时间、当前位置、当前速度、强加在当前位置和目标之间的速度限制、以及当前位置和目标之间的当前交通状况等来确定。该过程随后基于所确定的时间提供(在4850)响应。随后,该过程退出。

该过程确定(在4855)话语是否是关于沿路线的位置。如果不是,该过程转到下述4860。否则,该过程基于当前位置、目标、或沿路线的其它点提供(在4865)对话语的回答。例如,用户可通过说出“我的目标是什么”、“下面是什么”、“请告诉我下一转弯”、“我的目标在哪儿”、“请告诉我必须做些什么”、“请告诉我下面必须做些什么”等来就目标或下一路标进行询问。作为响应,交互式地图基于用户的当前位置、或当前或计划路线上的目标或下一路标来提供关于目标或下一路标的信息(例如,对目标或路标的描述)。随后,该过程退出。

该过程确定(在4860)话语是否是基于用户和交互式地图之间的当前对话。如果不是,该过程转到下述4875。否则,该过程基于当前对话提供(在4870)响应。随后,该过程退出。在一些实施例中,用户的话语基于当前对话情景来解释。例如,如果用户刚就较早路标进行询问,用户话语“我将何时到达那里”被解释为是对关于下一路标的导航状态信息(例如,到下一路标的估计时间)的请求。相比之下,如果用户刚就目标进行询问,那么同一话语被解释为是对关于目标的导航状态信息(例如,到目标的估计时间)的请求。

该过程确定(在4875)话语是否是基于任何其它可识别的导航或地图问题。如果是,该过程基于与问题相关的导航或地图信息提供(在4880)回答。否则,该过程退出。

图49例示本发明的一些实施例中的在语音激活导航期间使用自然语言话语时的用户设备4900。该图以三个阶段4901-4903示出。在阶段4901中,用户使用自然语言话语“我的下一转弯是什么”(如箭头4905所示)来获得指引。在阶段4902中,屏幕任选地显示用户和语音激活服务之间的可听交互。在阶段4903中,语音激活导航通过提供可听响应(如箭头4910所示)“您的下一转弯将是在50英尺之后到达第三大街”来做出响应。类似视觉指引4915也显示在屏幕上的标幅4920上。

图50例示本发明的一些另选实施例中的在语音激活导航期间使用自然语言话语时的用户设备5000。该图以四个阶段5001-5004示出。阶段5001类似于图49的阶段4901。然而,如阶段5002和5003中所示,显示并非自动地切换成再次示出地图,直到用户激活控件(诸如按钮5020)。如阶段5004中所示,一旦用户指示(通过激活控件)用户当前并无问题要询问,那么就显示地图5030。

图51例示在用户基于当前对话进行查询之后的图49的用户设备4900。该图以三个阶段5101-5103示出。在阶段5101中,用户询问(如箭头5105所示)“我何时将到达那里”。在阶段5102中,屏幕任选地显示用户和语音激活服务之间的可听交互。在阶段5103中,由于当前对话是关于路线中的下一转弯,语音激活导航以“在两分钟内”响应(如箭头5110所示)。语音激活导航基于当前位置、距下一路标的距离、当前速度、当前位置和下一路标之间的交通状况等做出响应。

图52例示本发明的一些另选实施例中的在语音激活导航期间使用自然语言话语时的用户设备4900。该图以四个阶段5201-5204示出。阶段5201类似于图51的阶段5101。然而,如阶段5202和5203中所示,显示并非自动地切换成再次示出地图,直到用户激活控件(诸如按钮5220)。如阶段5204中所示,一旦用户指示(通过激活控件)用户当前并无问题要询问,那么就显示地图5230。

以下是一些实施例中识别的自然语言话语的示例。本领域的普通技术人员将认识到,类似于这些示例的许多其它自然语言话语可用来询问导航相关的问题。

“距我多远?”

“距我们多远?”

“我还要走多久?”

“我的下一转弯在何时?”

“距我的下一转弯多近?”

“我要多久才到那里?”

“我们要多久才到那里?”

“我的下一转弯在哪里?”

“我将何时到达那里?”

“我们将何时到达那里?”

“我将何时到达我的目标?”

“我们将何时到达我们的目标?”

“我何时到达那里?”

“我应何时到达那里?”

“我应将何时到达那里?”

“我们应将何时到达那里?”

“我何时到家?”

“还有多久?”

“还要继续多久?”

“下一步是什么?”

“请告诉我下一转弯”

“请告诉我必须做些什么”

“请告诉我下面必须做些什么”

“请告诉我我将何时到达那里”

“请告诉我我们将何时到达那里”

“我目标在哪儿?”

“我左侧的建筑是什么?

“我下面应走哪条路?”、

“我在哪儿可以加油?”

“我在哪儿可以找到旅馆?”

c.语音激活搜索和导航

为了有利于免持导航,一些实施例利用语音激活服务来执行用户发起的搜索。在一些实施例中,这种语音激活服务是交互式导航应用程序的一部分。在其它实施例中,这种语音激活服务是通过语音激活个人助理服务来提供,语音激活个人助理服务使得宽泛范围的服务对于设备的用户而言可用。这些服务的示例是基于用户言语命令和查询来发送消息、发出电话呼叫、安排会议、找到企业、获得指引、搜索网络等。这种语音激活个人助理的示例是中提供的这些实施例中的一些标识搜索结果中的项目中的一者,并且设定从设备的当前位置到所标识的项目的路线。随后向用户呈现所标识的搜索结果以及路线。用户被提供导航至所呈现的项目或跳至搜索结果中的下一项目的选项。

图53概念性地例示本发明的一些实施例中的用于提供语音激活搜索和导航的过程5300。图53相对于图54a-54d来描述。图54a-54d例示一些实施例的用户界面的12个阶段5401-5412,其中用户正在使用语音激活服务搜索感兴趣点和目标。

如图53中所示,过程5300接收(在5305)搜索请求。搜索请求可通过言语命令做出。如图中的阶段5401中所示,用54a户发起言语搜索请求(如箭头5415所示)。在一些实施例中,语音激活服务是通过激活按钮(诸如按钮5420)来发起。在其它实施例中,当在设备音频输入端处接收到的语音水平响于一定阈值(和/或由设备识别自然语言词语)时,语音激活服务自动激活。

该过程随后确定(在5310)导航是否继续。例如,该过程确定是否已经设定目标。如果是,该过程检索(在5315)路线感知搜索结果。在一些实施例中,交互式地图应用程序维持路线信息,并且与过程5300共享剩余路线信息以便执行路线感知搜索。例如,响应于“寻找咖啡店”,该过程不是找到离当前位置最近的咖啡店,而是找到靠近当前路线的咖啡店,即使一些搜索结果沿路线更远。该过程随后继续下述5320。在图54a的实例中,地图5425和导航指引5437在屏幕上示出。地图标识用户设备的当前位置5430以及当前设定用于导航的路线5435。例如,如果路线被设定成从洛杉矶到加利福尼亚州的库珀蒂诺并且用户设备已经沿路线移动,阶段5401示出从洛杉矶到库珀蒂诺的路线在设备当前所处位置附近的一部分。

如阶段5402中所示,一些实施例显示用户和语音激活服务之间的言语交互的转录本5440,以便有利于进行更好的通信。一些实施例(诸如例示的实施例)将转录本作为独立显示示出,如阶段5402中所示。其它实施例(未示出)在用户开始搜索请求(诸如阶段5401中所示的显示)时将转录本写在在前台显示的同一页面上。另外,如阶段5402中所示,在语音激活搜索正在进行时,在屏幕上示出导航标幅5442,以便有利于沿初始路线5435的导航。虽然路线感知搜索在语音激活搜索的情景下描述,但一些实施例在导航继续并且用户使用基于触摸或基于运动的输入设备时执行路线感知搜索。

当在导航并不继续时接收到搜索请求(图54a-54c中未示出)时,该过程5300检索(在5350)在用户设备的当前位置附近(而非如以上在操作5315中所述的路线附近)的搜索结果。该过程随后准备(在5320)搜索结果的顺序列表。不同实施例使用不同准则来对列表进行分类以确定首先向用户呈现哪个搜索结果。例如,一些实施例首先使用最靠近的位置。其它实施例利用搜索结果中的每个项目进行不同分等级来对列表进行分类。例如,首先示出具有较高等级的餐厅。其它实施例通过明确设定或使用用户的过去偏好来利用用户偏好。例如,可首先呈现价格较低的餐厅。

该过程随后确定(在5325)在列表中是否剩余任何搜索结果。如图所示,该过程迭代通过操作5325-5337来处理搜索结果列表中的每个项目。因此,针对搜索结果列表中的第一项目,该过程确定(在5325)搜索是否已经返回任何结果。针对列表中的后续项目,该过程确定(在5325)是否已经向用户呈现列表中的所有项目。如果是,该过程通知(在5345)用户:搜索未返回结果(对于第一迭代)或没有更多的搜索结果(对于后续迭代)。随后,该过程结束。

否则,当在搜索结果列表中存在更多项目时,该过程将一条路线设定(在5330)列表中的下一项目并且向用户呈现搜索结果。为了有利于免持导航,该过程自动从找到的多条路线中选择单条路线,并且将路线设定到所呈现的搜索结果。如图54a中的阶段5403中所示,嗓音激活服务以视觉(5450)形式和可听(5452)形式向用户提供搜索结果。例如,语音激活服务指示:“我已在您所在区域找到5间咖啡店。第一间是艾德咖啡店您想去那里吗?”。在一些实施例中,语音激活服务在言语和书面展示中利用常用的缩略语,以便有利于容易的通信。

如图所示,语音激活服务示出地图5455,地图5455标识设备5457的当前位置、所呈现的搜索结果5459的位置以及两个位置之间的单条路线5458。屏幕还示出其它有用信息5451(例如,所呈现的搜索结果的名称以及可用时的等级)。用户还可看到(或听到)关于搜索结果的更多信息(例如,通过轻击标幅5451、或选择示出搜索结果名称的标幅5451上的控件5453,或者通过言语地询问关于目前搜索结果的更多细节)。

一些实施例并不示出阶段5403中示出的信息中的一些(例如,评级仅在用户轻击标幅5451或言语地询问更多信息时显示)。在一些实施例中,选择控件5453启动第三方应用程序,或在同时在导航应用程序正在其上运行的设备上运行的浏览器应用程序中打开第三方的网站。例如,一些实施例的导航应用程序启动第三方应用程序(例如,应用程序),以示出所呈现的搜索结果的全本文信息、评论、照片等等。

由于用户尚未决定导航至所呈现的搜索结果5459,初始路线5435(在该示例中,从洛杉矶到库珀蒂诺,如阶段5401中所示)仍用于实际导航,并且沿路线5435(而非所显示的路线5458)的逐向导航指引在阶段5403中的导航标幅5442中示出。因此,在通过语音激活服务向用户呈现搜索结果的同时,用户可继续沿初始路线5435导航。

另外,如图所示,阶段5403中显示的地图不同于阶段5401中显示的地图。阶段5401中的地图是全屏逐向导航显示(例如,任选地3d地图),示出当前所导航路线的一部分;而在阶段5403中显示的地图是概览地图,示出从设备的当前位置到所建议搜索结果的路线。例如,概览地图是2d地图,其中所呈现的搜索结果靠近地图的中心。此外,一些实施例例如以不同边框、不同尺寸等显示阶段5403中的地图,以便在语音激活服务所显示的到所建议目标的地图和交互式导航应用程序所显示的到所选择目标的地图之间进行区分。在其它实施例中,阶段5403中显示的地图类似于概览地图(例如,图45中所示的地图4515)。又如以下进一步所描述,在一些实施例中,地图由交互式导航应用程序显示(例如,当语音激活服务请求时)。

重新参见图53,该过程随后确定(在5335)用户是否想要导航至所呈现的搜索结果。如果是,该过程转到下述5340。否则,该过程确定(在5337)用户是否想要终止搜索。如果是,该过程终止呈现搜索结果。在一些实施例中,在终止语音激活搜索之后,屏幕显示在开始搜索之前在前台运行的应用程序。在一些实施例中,语音激活服务使控件返回在开始搜索之前在前台运行的应用程序。例如,如果交互式导航应用程序在搜索开始之前运行,屏幕再次显示导航信息。

如图中的阶段5404中所示,用54b户要求语音激活服务终止搜索(如箭头5460所示)。在阶段5405中,显示任选地示出言语通信的转录本5465。在阶段5406中,阶段5401中显示的地图5425重新显示在屏幕上。导航指引5437、路线5435和设备的当前位置5430也被恢复。然而,设备的当前位置5430已经因设备在搜索过程期间的移动而改变。因此,初始路线5435在屏幕上恢复,并且导航继续朝向目标库珀蒂诺,因为用户并未选择任何所呈现的搜索结果。

当过程5300确定用户不想导航到所呈现的搜索结果或终止搜索时,该过程回到5325以呈现下一搜索结果。该过程继续,直到(i)用户决定要导航到搜索结果;(ii)用户决定终止搜索,或者(iii)没有更多的项目要呈现。例如,如果列表中存在更多项目,该过程设定(在5330)到下一搜索结果的路线并且重复操作5330-5335。

如图54c中的阶段5407中所示,用户想要跳过“艾德咖啡店”(如箭头5470所示)。在阶段5408中,可听通信的转录本5472任选地显示在屏幕上。在阶段5409中,向用户呈现(如箭头5473和5474所示)搜索列表中的下一项目(在该示例中,“venicecucina”)。当前位置5430(自阶段5401起已经略微改变,因为设备在搜索期间进行移动)、新搜索结果的位置5475、从当前位置到所呈现的搜索结果的路线5477、以及关于搜索结果的另外信息5479显示在屏幕上。

如果用户决定转到所提供的搜索结果,图53的过程5300示出(在5340)路线的所选部分并且提供对所选搜索结果的音频和/或视觉导航指引。虽然操作5340概念性地被示出为过程5300的一部分,但在一些实施例中,过程5300将控件变换至交互式导航应用程序以便提供导航地图和指引,如整个本说明书中所述。随后,该过程结束。

如图中的阶段5410中所示,用54d户决定(如箭头5480所示)转到所提供的搜索结果。如图所示,一些实施例还提供控件5482,控件5482可被选择(例如,通过轻击)以便选择当前所提供的搜索结果并且转到这个搜索结果。在阶段5411中,可听通信的转录本5471任选地在屏幕上示出。在阶段5412中,语音激活服务确认(如箭头5490所示)用户的选择。全屏逐向导航地图5425以及从当前位置5430到所选搜索结果的路线5487的一部分显示在屏幕上。如图所示,阶段5412中的地图5425类似于阶段5401中的地图5425,然而,路线5487是到所选搜索结果的路线。在一些实施例中,控件返回交互式导航应用程序以提供导航指引。在一些实施例中,也保存初始路线5435,以防用户想要在访问搜索结果之后继续沿初始路线的导航(在该示例中,在访问venicecucina之后继续从洛杉矶行进到库珀蒂诺)。

图55概念性地例示本发明的一些实施例中的用于提供语音激活搜索和导航的另选过程5500。在这些实施例中,语音激活服务在显示器上显示所有搜索结果,并且随后以成批方式一次一个地标识搜索结果,并且询问用户是否想要导航至所标识的搜索结果。如图所示,该过程接收(在5505)搜索请求。搜索请求可通过言语命令做出。该过程随后确定(在5510)导航是否继续。例如,该过程确定是否已经设定目标。如果不是,该过程转到下述5545。

当导航继续时,该过程检索(在5515)路线感知搜索结果。在一些实施例中,交互式地图应用程序维持路线信息,并且与过程5500共享剩余路线信息以便执行路线感知搜索。例如,响应于“寻找咖啡店”,该过程不是找到离当前位置最近的咖啡店,而是找到靠近当前路线的咖啡店,即使一些搜索结果沿路线更远。

在一些实施例中,当搜索是音频-视觉形式(而非例如锁定屏幕仅音频形式)时,该过程在预览显示上示出(在5520)搜索结果,并且将图钉落在搜索结果的位置处。在一些实施例中,搜索结果以3d或2d形式示出,这取决于多个因素,诸如搜索中找到的数字结果、路线的长度等。其它实施例切换至2d概览显示来示出搜索结果,并且随后在导航开始或继续时切换至3d显示。

该过程还基于一定准则诸如与当前位置的接近度来准备(在5525)搜索结果的顺序列表。该过程随后通过循环通过列表中的条目来以成批方式读出(在5530)条目。该过程基于从用户接收的言语命令跳过或继续通过列表。在一些实施例中,交互式地图向用户读出信息的列表。例如,当提供下五个出口附近的加油站的列表时,交互式地图向用户逐个读出加油站的名称。用户可通过说出“跳过”或其它触发词语来在列表中的项目之间跳过,以便前进通过列表。当交互式地图接收用户的跳至列表上的下一项目(例如,加油站名称和相关信息,诸如品牌、油价、与最近出口的距离等)的语音输入时,交互式地图读出列表中的下一项信息、或报告已经到达列表的最后。

图56例示本发明的一些实施例中的在导航期间的用户设备5600。如图所示,已经在地图5650上确定路线5605,并且已经在路线5605上标识用户设备的当前位置5610。用户例如通过按下按钮5615来启动语音激活服务。

随后,用户做出言语搜索请求(如箭头5620所示)。随后,显示任选地示出言语通信的转录本5670。随后,沿路线执行搜索(而非仅在用户设备的当前位置附近)。显示转变成概览5625并且示出具有标记或图钉5630所标识的搜索结果的路线。如图所示,概览5625示出搜索结果5630以及到第一选择(在该示例中,山姆的咖啡时光)的建议路线。这个概览地图5625不同于导航地图5650或用于导航路线5605的概览。概览地图5625通过语音激活服务显示并且示出基于用户的言语搜索请求所找到的搜索结果。语音激活服务还播报(如箭头5635所示)搜索结果并且以标识第一搜索结果开始。在例示的实施例中,在地图上示出所有搜索结果。

图57例示本发明的一些实施例中的在导航期间的用户设备5700。图57例示其中语音激活服务已经接收与图56中相同的搜索准则的另一个实施例。然而,在图57中所示的实施例中,示出标记或图钉5730的概览地图5725通导航应用程序而非语音激活服务来显示。

在其它实施例中,语音激活服务通过选择第一搜索结果并且将一条路线设定到搜索结果而有利于免持导航。在这些实施例中,显示到第一搜索结果的路线(例如,通过将第一搜索结果置于地图的中心和示出从当前位置到第一搜索结果的路线)。语音激活服务随后给出第一搜索结果的名称和/或描述,并且询问用户是否希望将目标设定成第一搜索结果。如果用户希望到达第一搜索结果,则到第一搜索结果的逐向导航开始。否则,语音激活服务通过以下方式以成批方式循环通过搜索结果:选择下一搜索结果,将一条路线设定到下一搜索结果,向用户提供对结果的描述,以及查询用户是否希望到达所提供的搜索结果。这个过程继续,直到用户选择搜索结果或所有搜索结果都被呈现给用户。

图58例示用户不想选择第一间咖啡店时的图56的用户设备5600。如图所示,用户做出跳过当前搜索项目的言语请求(如箭头5805所示)。随后,显示任选地示出言语通信的转录本5820。随后,语音激活导航做出对搜索结果中的项目的可听展示(如箭头5810所示)。这种交互继续,直到用户选择项目或终止搜索。如上所述,一些实施例自动将一条路线设定到下一搜索结果,向用户提供对结果的描述,并且查询用户是否希望到达所提供的搜索结果。在这些实施例中,仅下一搜索结果(在该示例中,venicecucina)显示在屏幕上,其中显示从当前位置到搜索结果的路线。如果用户选择搜索结果(例如,通过言语命令,诸如“前进”或“继续”),则到搜索结果的逐向导航开始。否则,显示下一搜索结果,并且该过程以成批方式继续。

重新参见图55,该过程确定(在5535)用户是否已经选择特定搜索结果。如果不是,该过程结束(或在一些实施例中,该过程返回5530并且继续循环通过列表,直到通过用户命令终止)。否则,该过程将一条路线设定(在5540)到所选搜索结果。基于用户决定,保存初始路线或以到所选搜索结果的路线来替换初始路线。随后,该过程结束。

当在导航并不继续时接收到搜索请求时,该过程检索(在5545)用户设备的当前位置附近(而非如以上在操作5515中所述的路线附近)的搜索结果。该过程随后根据当前设定来以音频和/或视觉形式提供(在5550)搜索结果。随后,该过程结束。在一些实施例中,该过程在检索搜索结果(在5545)之后转到上述5520。在这些实施例中,搜索结果被呈现给用户,如以上参考操作5520-5540而非操作5550所述。

图59a-59e概念性地例示在搜索操作期间使用的、本发明的一些实施例的语音激活服务的部分。过程5300和5500的操作以及当前“语音引导”章节中的用户界面中示出的不同操作是由图59a-59e中的一个或多个模块执行。本领域的普通技术人员将认识到,图59a-59e中所示的模块式特定于一些实施例的语音激活搜索过程,并且一些实施例的语音激活服务、交互式导航应用程序和地图服务包括未在这些图中示出的许多另外模块(例如,用于地图显示、路线显示、导航的另外方面、文本指令生成、箭头生成等)。

附图以五个阶段5901-5905示出一些实施例的语音激活服务5905、地图服务5910和交互式导航应用程序5915的不同模块之间的交互。在一些实施例中,语音激活服务和交互式导航应用程序驻留在用户设备上,而地图服务驻留在用户设备的外部。一些实施例的地图服务的更多细节在以下在“地图服务环境”章节中进行描述。

如图所示,语音激活服务5905包括以下模块:语音输入5920、语音识别5925、自然语言解释器5930、显示界面5990、语音到文本转换器5935、搜索列表呈现器5940、搜索列表生成器5945、语音合成器5950和语音输出5955。另外,语音激活服务5905包用于存储一组导航和地图相关的自然语言话语的存储装置5960。地图服务5910包括以下模块:地图生成器5985、路线生成器5965和搜索引擎5970。此外,地图服务5910包括地图数据存储装置5975和感兴趣点存储装置5980。在一些实施例中,这些存储装置是分布式的和/或包括来自若干不同源(例如,来自不同供应商、不同数据库等)的数据。交互式导航应用程序5915的不同模块在整个本说明书中进行描述,并且为了简单,并未在此示出。

如图59a中的阶段5901中所示,语音输入模块5920接收来自用户的搜索请求。例如,用户通过激活按钮或以大于阈值的响度对着设备麦克风(或物理地或无线地连接到设备的外部麦克风)讲话来启动语音激活服务。语音输入模块5920将用户的语音请求传送至语音识别模块5925,语音识别模块5925将语音转换成词语。

语音识别模块5925将所识别的语音请求发送至语音至文本转换器模块5935,语音至文本转换器模块5935生成用户和语音激活服务之间的可听通信的转录本。显示界面5990接收通信的转录本并且将转录本显示在用户设备上。

自然语言解释器5930接收语音识别模块5925的输出,并且将所接收的词语与存储在自然语言话语存储装置5960中的自然语言短语(诸如以上在“使用自然语言话语的导航”章节中描述的短语)的列表进行比较。在一些实施例中,自然语言解释器5930模块使用启发法来识别类似于所识别的自然语言话语的不完整词语或不完整短语。

此外,在一些实施例中,自然语言话语存储装置5960存储若干不同语言的导航相关话语。这些组中的一组或多组是根据用户设备的用户设定来使用。自然语言解释器5930基于所识别的导航相关自然语言话语构建搜索准则,并且向地图服务5910的搜索引擎模块5970发送准则。搜索准则包括感兴趣点或用户正在查找的其它目标,以及当前设备位置、当前路线、搜索半径、价格、等级、评论或与搜索相关的其它准则中的一个或多个。

如图中的阶段5902中所示,搜59b索引擎5970使用存储在地图数据存储装置5975中的地图数据和存储在感兴趣点存储装置5980中的感兴趣点数据来针对给定搜索准则找出结果。地图服务5910的搜索引擎模块5970将搜索结果发送到语音激活服务5905的搜索列表生成器模块5945。

搜索列表生成器模块准备搜索结果的列表(如在上述操作5320或5525中所述)。搜索列表呈现器模块5940接收搜索列表、选择搜索项目,并且向地图服务5910的地图生成器模块5985发送对地图和从当前设备位置到搜索结果的位置的路线的请求。

如图中的阶段5903中所示,地59c图生成器模块5985与路线生成器模块5965通信,并且利用来自地图数据存储装置5975和感兴趣点存储装置5980的数据生成地图(例如,类似图中的5455或图57中的5725的地图)和到所标识的54a搜索结果的路线。搜索列表呈现器模块5940接收地图和路线的信息,并且将信息发送至显示界面模块5990以显示在用户设备上。

搜索列表呈现器模块5940还为用户准备可听展示的转录本,并且将副本发送至语音合成器模块5950以生成可听语音,并且将副本发送至显示界面模块5990以显示在用户设备屏幕上。语音合成器模块5950合成语音并且发送至语音输出模块5955以在设备扬声器或耳机上播放。

如图59d中的阶段5904所示,语音输入模块5920接收用户(i)对搜索结果的选择、(ii)对跳过当前所呈现的搜索结果的请求或者(iii)对终止搜索的请求。语音识别模块5925接收用户请的求,并且将所识别的词语的副本发送至语音到文本转换器模块5935和自然语言解释器模块5930。语音到文本转换器模块将可听通信的转录本发送至显示界面模块5990来显示。自然语言解释器模块5930通过使用存储在自然语言话语存储装置5960中的短语并且根据请求的类型确定用户的请求:(i)将命令发送至搜索列表呈现器5940以便设定到下一搜索结果的路线并且显示下一搜索结果,如上所述;(ii)将对所选择的路线的标识发送至交互式导航应用程序5915;或者(iii)终止搜索。

一旦标识用户所选搜索结果,交互式导航应用程序就呈现导航地图和逐向指引,如图59e中的阶段5905中所示。如本说明书中所述的交互式导航应用程序将设备位置信息发送至地图服务5910、接收地图和导航信息、并且将地图和导航信息呈现在用户设备上。

d.将导航并入语音激活服务输出

一些实施例将导航并入语音激活服务输出以便提供更好的用户体验。例如,当用户在导航期间利用语音激活服务时,语音激活服务将言语逐向导航指引并入与用户进行的语音激活服务交互。

图60例示其中导航并入语音激活服务输出的一些实施例的用户界面的4个阶段6001-6004。如图所示,地图6025和导航指引6090在屏幕上示出。地图标识用户设备的当前位置6030以及当前设定用于导航的路线6035。在该示例中,导航应用程序在设备到达下一转弯的50英尺内时提供言语引导。如阶段6001中所示,用户设备距下一转弯(如6090所示)仍有60英尺。因此,导航应用程序并不提供言语指引引导。

如阶段6001中所示,用户发起语音激活服务(如箭头6015所示)。在一些实施例中,语音激活服务是通过激活按钮(诸如按钮6020)来发起。在其它实施例中,当在设备音频输入端处接收到的语音水平响于一定阈值(和/或由设备识别自然语言词语)时,语音激活服务自动激活。阶段6001中的用户正在查询与导航并不相关的天气状况(如6015所示)。

如阶段6002中所示,一些实施例显示用户和语音激活服务之间的言语交互的转录本6040,以便有利于进行更好的通信。一些实施例(诸如例示的实施例)将转录本作为独立显示示出,如阶段6002中所示。其它实施例(未示出)在用户开始搜索请求(诸如阶段6001中所示的显示)时将转录本写在在前台显示的同一页面上。

另外如阶段6002中所示,在屏幕上示出导航标幅6042,以便有利于沿路线6035的导航。这个导航标幅6042比导航标幅6090狭窄。在一些实施例中,较狭窄导航标幅用于在导航应用程序正在后台运行并且另一应用程序(在该示例中,语音激活服务)正在前台运行时示出导航指引。导航标幅6042示出设备已经到达下一转弯的50英尺内。一旦设备在下一转弯的50英尺内,导航应用程序就准备言语语音引导播报,诸如“50英尺之后左转到主街”。然而,为了不干扰与用户进行的语音激活服务交互,导航应用程序向语音激活服务提供可听输出(例如,以音频文件或指向音频文件的指针的形式),以便允许语音激活服务在适当时间做出导航引导播报(例如,通过输出所接收的音频文件)。

如阶段6002中所示,语音激活服务正在接收并且转录言语用户输入(用户输入被示出为短语6086,以便概念性地示出用户仍在提供输入、或语音激活服务正在等待确保用户确实正在做出言语请求)。语音激活服务正在利用语音识别来解释用户的请求。如果在用户正对着语音激活服务说话时通过扬声器来播放导航引导,导航引导输出通过麦克风返回并且使得语音激活服务难以识别用户实际所说的内容。此外,播放导航引导可能使得用户混淆(例如,因为用户正期望来自语音激活服务的回答)。

一旦语音激活服务接收用户输入,语音激活服务确定是否已经做出导航引导播报。在该示例中,存在导航引导播报。如阶段6003中所示,语音激活服务告知用户(如6080所示)存在导航指引要播报,并且继续做出播报(例如,通过输出从导航应用程序接收的音频文件)。如阶段6004中所示,语音激活服务提供对用户请求的响应(如6085所示)。将导航输出集成到语音激活服务输出中为用户提供统一体验。在一些实施例中,语音激活服务和导航使用同一语音合成器来为用户做出统一音频接口。

图61概念性地例示本专利申请的一些实施例中的语音激活服务用来将导航输出并入的过程6100。如图所示,该过程接收(在6105)来自导航应用程序用于导航指引播报的音频信息。例如,如以上参见图60所述,在阶段6002中,设备到达路线上的导航应用程序必须要向用户提供言语警示的一点。

过程6100随后确定(在6110)用户是否当前正向语音激活服务提供言语输入(例如,如图60的阶段6001和6002中所示)。如果这样,该过程转到下述6125。否则,该过程确定(在6115)语音激活服务是否当前正向用户提供可听响应(例如,如图60的阶段6004中所示)。如果不是,该过程转到下述6130。否则,该过程确定(在6120)可听响应是否在可中断的点处(例如,介于句子之间)。如果不是,该过程转到下述6125。

否则,该过程输出从导航应用程序接收的用于导航指引的音频信息。随后,该过程结束。在一些实施例中,从导航应用程序接收的信息是呈可在设备音频系统上播放的音频文件形式。在其它实施例中,从导航应用程序接收的信息是文本形式,文本由语音合成器转换成语音。

当无法立即播放可听导航信息时,该过程存储(在6125)从导航应用程序接收的音频信息(例如,在存储器或存储装置中)。该过程随后回到上述6110。在一些实施例中,该过程在预先确定的延迟之后执行操作6110-6120。在其它实施例中,该过程自动检查(例如,在接收用户输入之后,在完成对用户的响应之后,在对用户的响应到达可中断的点之后等)要播放的来自导航应用程序的任何播报。

虽然过程6100参考语音激活服务从导航应用程序接收的播报来描述,但一些实施例利用类似过程将来自其它应用程序的可听播报(例如,当已做出将到来的文本消息的播报时)并入语音激活服务输出,以便使得用户得到更好的总体体验。

v.电子系统

上文所述的特征和应用程序中的许多可被实现为被指定为在计算机可读存储介质(还称为计算机可读介质)上记录的指令集的软件过程。在这些指令由一个或多个计算或一个或多个处理单元(例如,一个或多个处理器、处理器的内核或者其它处理单元)执行时,这些指令使得一个或多个处理单元能够执行指令中所指示的动作。计算机可读介质的实例包括但不限于cd-rom、闪存驱动器、随机存取存储器(ram)芯片、硬盘驱动器、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)等。计算机可读介质不包括无线地传送或通过有线连接的载波和电信号。

在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或者存储在磁性存储设备中的应用程序,所述固件或应用程序可被读取到存储器中以用于由处理器进行处理。另外,在一些实施例中,可在保留不同的软件发明的同时,将多个软件发明实现为更大程序的子部分。在一些实施例中,还可将多个软件发明实现为单独程序。最后,共同实施这里所述的软件发明的单独程序的任何组合均在本发明的范围之内。在一些实施例中,当被安装以在一个或多个电子系统上运行时,软件程序定义执行和施行软件程序的操作的一个或多个特定机器具体实施。

a.移动设备

一些实施例的地图绘制和导航应用程序在移动设备诸如智能电话(例如,)和平板电脑(例如,)上操作。图62是此类移动计算设备的架构6200的实例。移动计算设备的示例包括智能电话、平板电脑、膝上型电脑等。如图所示,移动计算设备6200包括一个或多个处理单元6205、存储器接口6210以及外围设备接口6215。

外围设备接口6215耦接至各种传感器和子系统,包括相机子系统6220、无线通信子系统6225、音频子系统6230、输入/输出子系统6235等。外围设备接口6215允许处理单元6205和各种外围设备之间的通信。例如,取向传感器6245(例如,陀螺仪)和加速度传感器6250(例如,加速度计)耦接至外围设备接口6215,以便有利于取向和加速功能。

相机子系统6220耦接至一个或多个光学传感器6240(例如,电荷耦合设备(ccd)光学传感器、互补金属氧化物半导体(cmos)光学传感器等)。与光学传感器6240耦接的相机子系统6220有利于相机功能,诸如图像和/或视频数据捕获。无线通信子系统6225用于有利于通信功能。在一些实施例中,无线通信子系统6225包括射频接收器和发射器,以及光学接收器和发射器(图62中未示出)。一些实施例的这些接收器和发射器被实现为在一个或多个通信网络之上操作,通信网络诸如gsm网络、wi-fi网络、蓝牙网络等。音频子系统6230耦接至扬声器以输出音频(例如,输出语音导航指令)。另外,音频子系统6230耦接至麦克风以有利于支持语音的功能,诸如语音识别(例如,用于搜索)、数字记录等。

输入/输出子系统6235涉及输入/输出外围设备(诸如显示器、触摸屏等)和处理单元6205的数据总线之间通过外围设备接口6215的传输。输入/输出子系统6235包括触摸屏控制器6255和其它输入控制器6260以有利于输入/输出外围设备和处理单元6205的数据总线之间的传输。如图所示,触摸屏控制器6255耦接至触摸屏6265。触摸屏控制器6255使用任何多点触感技术来检测触摸屏6265上的接触和移动。其它输入控制器6260耦接至其它输入/控制设备,诸如一个或多个按钮。一些实施例包括近触感屏和对应控制器,该控制器代替触摸交互或除了触摸交互之外可检测近触摸交互。

存储器接口6210耦接至存储器6270。在一些实施例中,存储器6270包括易失性存储器(例如,高速随机存取存储器)、非易失性存储器(例如,闪存存储器)、易失性存储器和非易失性存储器的组合,和/或任何其它类型的存储器。如图62中所示,存储器6270存储操作系统(os)6272。os6272包括用于处理基础系统服务和用于执行硬件相关任务的指令。

存储器6270还包括:有利于与一个或多个另外设备进行通信的通信指令6274;有利于图形用户界面处理的图形用户界面指令6276;有利于图像相关的处理和功能的图像处理指令6278;有利于输入相关(例如,触摸输入)的过程和功能的输入处理指令6280;有利于音频相关的过程和功能的音频处理指令6282;以及有利于相机相关的过程和功能的相机指令6284。上述指令仅是示例性的,并且在一些实施例中,存储器6270包括另外和/或其它指令。例如,用于智能电话的存储器可包括促进电话相关的过程和功能的电话指令。另外,存储器可包括用于地图绘制和导航应用程序以及其它应用程序的指令。以上所识别的指令无需实现为独立的软件程序或模块。可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,实现移动计算设备的各种功能。

虽然图62中例示的组件被示出为独立的组件,但是本领域的普通技术人员将认识到,可将两个或更多个组件集成到一个或多个集成电路中。另外,两个或更多个组件可由一条或多条通信总线或信号线来耦接在一起。另外,虽然已将许多功能描述为由一个组件执行,但是本领域的技术人员将认识到,可将相对于图62所述的功能拆分到两个或更多个集成电路中。

b.计算机系统

图63概念性地例示实现本发明的一些实施例所利用的电子系统6300的另一个实例。电子系统6300可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、pda或任何其它种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统6300包括总线6305、一个或多个处理单元6310、图形处理单元(gpu)6315、系统存储器6320、网络6325、只读存储器6330、永久性存储设备6335、输入设备6340以及输出设备6345。

总线6305总体表示可通信地连接电子系统6300的许多内部设备的所有系统、外围设备以及芯片组总线。例如,总线6305可通信地将一个或多个处理单元6310与只读存储器6330、gpu6315、系统存储器6320以及永久性存储设备6335连接。

一个或多个处理单元6310从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本发明的过程。在不同实施例中,一个或多个处理单元可以为单个处理器或者多核处理器。一些指令被传送至gpu6315并且由gpu6315执行。gpu6315可卸载各种计算指令,或补充由一个或多个处理单元6310提供的图像处理。在一些实施例中,可使用coreimage的内核着色语言来提供此类功能。

只读存储器(rom)6330存储一个或多个处理单元6310和电子系统的其它模块所需的静态数据和指令。另一方面,永久性存储设备6335是读写存储器设备。此设备是即使在电子系统6300关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例将海量存储设备(诸如磁盘或光盘及其对应的硬盘驱动器、集成闪存存储器)用作永久性存储设备6335。

其他实施例将可移动的存储设备(诸如软盘、闪存存储器设备等,及其对应的驱动器)用作永久性存储设备。与永久性存储设备6335一样,系统存储器6320是读写存储器设备。但是,与存储设备6335不同的是,系统存储器6320是易失性读写存储器,诸如随机存取存储器。系统存储器6320存储处理器在运行时所需的指令和数据中的一些。在一些实施例中,本发明的过程存储在系统存储器6320、永久性存储设备6335、和/或只读存储器6330中。例如,各种存储器单元包括用于根据一些实施例处理多媒体片段的指令。一个或多个处理单元6310从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一些实施例的过程。

总线6305还连接至输入设备6340和输出设备6345。输入设备6340使得用户能够将信息传达至电子系统并且选择至电子系统的命令。输入设备6340包括字母数字键盘和指示设备(也称为“光标控制设备”)、相机(例如,网络相机)、麦克风或用于接收语音命令的类似设备等。输出设备6345显示由电子系统生成的图像或者其他输出数据。输出设备6345包括打印机和显示设备诸如阴极射线管(crt)或液晶显示器(lcd),以及扬声器或类似的音频输出设备。一些实施例包括充当输入设备和输出设备两者的设备,诸如触摸屏。

最后,如图63中所示,总线6305还通过网络适配器(未示出)将电子系统6300耦接至网络6325。这样,计算机可以是计算机网络(诸如局域网(“lan”)、广域网(“wan”)、或内联网)的一部分、或者是网络的网络(诸如互联网)的一部分。电子系统6300的任何或所有组件均可与本发明结合使用。

一些实施例包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子部件,诸如微处理器、存储装置以及存储器。这样的计算机可读介质的一些示例包括ram、rom、只读压缩盘(cd-rom)、可记录压缩盘(cd-r)、可写压缩盘(cd-rw)、只读数字多功能盘(例如dvd-rom、双层dvd-rom)、多种可记录/可写dvd(例如dvd-ram、dvd-rw、dvd+rw等等)、闪存存储器(例如sd卡、迷你sd卡、微型sd卡等等)、磁和/或固态硬盘驱动器、只读和可记录blu-盘、高密度光盘、任何其他光学或磁介质、和软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元来执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的实例包括机器代码,诸如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。

虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由一个或多个集成电路来执行,该一个或多个集成电路诸如专用集成电路(asic)或现场可编程门阵列(fpga)。在一些实施例中,此类集成电路执行存储在电路自身上的指令。此外,一些实施例执行存储在可编程逻辑设备(pld)、rom或ram设备中的软件。

如本说明书和本专利申请的任何权利要求中所使用的那样,术语“计算机”、“服务器”、“处理器”、和“存储器”都指代电子或其他技术设备。这些术语不包括人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如本说明书以及本专利申请的任何权利要求所用,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的有形的物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。

vi.地图服务环境

各种实施例可在地图服务操作环境内操作。图64例示根据一些实施例的地图服务操作环境。

地图服务6430(也被称作地图绘制服务)可为通过各种通信方法和协议与地图服务6430通信的一个或多个客户端设备6402a-6402c提供地图服务。在一些实施例中,地图服务6430提供地图信息以及其它地图相关数据,诸如二维地图图像数据(例如,利用卫星图像的道路的悬空视图)、三维地图图像数据(例如,具有三维特征诸如建筑的横贯地图)、路线和指引计算(例如,轮渡路线计算或步行的两点之间的指引)、实时导航数据(例如,二维或三维逐向视觉导航数据)、位置数据(例如,客户端设备当前所在的位置)以及其它几何形状数据(例如,无线网络覆盖、天气、交通信息、或附近感兴趣点)。在各种实施例中,地图服务数据可包括用于不同国家和地区的本地化标签。本地化标签可用于在客户端设备上以不同语言呈现地图标签(例如,街道名称、城市名称、感兴趣点)。客户端设备6402a-6402c可通过获得地图服务数据来利用这些地图服务。客户端设备6402a-6402c可实施处理地图服务数据的各种技术。客户端设备6402a-6402c随后可向各种实体提供地图服务,实体包括但不限于:用户、内部软件或硬件模块、和/或客户端设备6402a-6402c外部的其它系统或设备。

在一些实施例中,地图服务由分布式计算系统中的一个或多个节点来实现。每个节点可被分配地图服务的一个或多个服务或组件。一些节点可被分配地图服务的相同地图服务或组件。在一些实施例中,负载平衡节点将访问或请求分布至地图服务内的其它节点。在一些实施例中,地图服务被实现为单个系统,诸如单服务器。服务器内的不同模块或硬件设备可实现地图服务所提供的各种服务中的中的一个或多个。

在一些实施例中,地图服务通过生成呈各种格式的地图服务数据来提供地图服务。在一些实施例中,地图服务数据的一种格式是地图图像数据。地图图像数据向客户端设备提供图像数据,使得客户端设备可处理图像数据(例如,将图像数据渲染和/或显示为二维或三维地图)。地图图像数据,无论二维形式还是三维形式,都可指定一个或多个地图片。地图片可为较大地图图像的一部分。将地图的地图片组合在一起产生初始地图。可根据地图图像数据、路线规划或导航数据或任何其它地图服务数据生成片。在一些实施例中,地图片是基于栅格的地图片,其中片的尺寸范围是从比常用的256像素乘256像素片更大和更小的任何尺寸。基于光栅的地图拼块可以任何数量的标准数字图像表示来编码,所述标准数字图像表示包括但不限于位图(.bmp)、图形交换格式(.gif)、联合图像专家小组(.jpg、.jpeg等)、便携式网络图形(.png)或标记图像文件格式(.giff)。在一些实施例中,地图片是使用向量图形来编码的基于向量的地图片,向量图形包括但不限于可缩放向量图形(.svg)或绘图文件(.drw)。一些实施例还包括具有向量和栅格数据的组合的片。与地图片有关的元数据或其它信息也可包括在地图块内或与地图片一起,从而向客户端设备提供另外的地图服务数据。在各种实施例中,利用各种标准和/或协议对地图片进行编码以便传输,标准和/或协议中的一些在以下示例中描述。

在各种实施例中,可根据缩放水平从具有不同分辨率的图像数据构造地图片。例如,对于低缩放水平(例如,世界或全球视图),地图或图像数据的分辨率不需要如处于高缩放水平(例如,城市或街道水平)的分辨率那样高。例如,当处于全球视图时,可能无需渲染街道级别伪像,因为这些对象在许多情况下将会小到可忽略不计。

在一些实施例中,地图服务在编码地图片以便传输之前执行分析片的各种技术。这种分析可优化客户端设备和地图服务两者的地图服务性能。在一些实施例中,根据基于向量的图形技术来分析地图片的复杂性,并且利用复杂层和非复杂层来构造地图片。还可针对可渲染为图像纹理的公共图像数据或图案分析地图片,并且通过依赖于图像掩模来构造地图片。在一些实施例中,地图片中的基于栅格的图像数据包含某些掩模值,这些掩模值与一个或多个纹理相关联。一些实施例还分析地图片的指定特征,指定特征可与包含样式标识符的某些地图样式相关联。

在一些实施例中,其它地图服务依赖于各种数据格式与地图片分开地生成地图服务数据。例如,提供位置数据的地图服务可利用符合位置服务协议的数据格式,诸如但不限于:无线电资源位置服务协议(rrlp)、用于码分多址接入(cdma)的tia801、无线电资源控制(rrc)定位协议、或lte定位协议(lpp)。实施例还可从客户端设备接收或请求标识设备能力或属性(例如,硬件规格或操作系统版本)或者通信能力(例如,如由无线信号强度或有线或无线网络类型确定的设备通信带宽)的数据。

地图服务可从内部或外部源获得地图服务数据。例如,地图图像数据中使用的卫星图像可从外部服务、或内部系统、存储设备、或节点获得。其它示例可包括但不限于:gps辅助服务器、无线网络覆盖数据库、企业或个人目录、天气数据、政府信息(例如,建设更新或道路名称改变)或交通报告。地图服务的一些实施例可更新地图服务数据(例如,无线网络覆盖),以便分析来自客户端设备的未来请求。

地图服务的各种实施例可响应于客户端设备对地图服务的请求。这些请求可针对特定地图、或地图的一部分。一些实施例将对地图的请求格式化为对某些地图片的请求。在一些实施例中,请求还向地图服务提供用于路线计算的起点位置(或当前位置)和目标位置。客户端设备还可请求地图服务呈现信息,诸如地图纹理或样式表。在至少一些实施例中,请求还是实现逐向导航的一系列请求中的一者。对其它几何形状数据的请求可包括但不限于:对当前位置、无线网络覆盖、天气、交通信息或附近感兴趣点的请求。

在一些实施例中,地图服务分析客户端设备对优化设备或地图服务操作的请求。例如,地图服务可识别客户端设备的位置处于通信较差(例如,无线信号较弱)的区域,并且发送更多地图服务数据以在通信有损失情况下供应客户端设备、或发送利用不同客户端硬件(例如,取向传感器)或软件(例如,利用无线位置服务或wi-fi定位而非基于gps的服务)的指令。在另一个例子中,地图服务可针对基于矢量的地图图像数据来分析客户端设备请求并且根据图像的复杂度来确定基于光栅的地图图像数据更好地优化地图图像数据。其它地图服务的实施例可对客户端设备请求执行类似分析,并且因此,以上示例并不旨在进行限制。

客户端设备(例如,客户端设备6402a-6402c)的各种实施例实现在不同便携式多功能设备类型上。客户端设备6402a-6402c通过各种通信方法和协议来利用地图服务6430。在一些实施例中,客户端设备6402a-6402c从地图服务6430获得地图服务数据。客户端设备6402a-6402c请求或接收地图服务数据。客户端设备6402a-6402c随后处理地图服务数据(例如,渲染和/或显示数据),并且向设备上的另一软件或硬件模块或向外部设备或系统发送数据。

根据一些实施例,客户端设备实现渲染和/或显示地图的技术。可以各种格式诸如上述地图片来请求或接收这些地图。客户端设备可以二维或三维视图渲染地图。客户端设备的一些实施例显示所渲染的地图,并允许提供输入的用户、系统或设备操纵地图中的虚拟相机,从而根据虚拟相机的定位、取向和视场来改变地图显示。各种形式和输入设备被实现用来操纵虚拟相机。在一些实施例中,触摸输入通过某些单个或组合手势(例如,触摸并保持或划动)来操纵虚拟相机。其他实施例允许操纵设备的物理位置从而操纵虚拟相机。例如,客户端设备可从其当前位置向上倾斜以操纵虚拟相机向上旋转。在另一示例中,客户端设备可从其当前位置向前倾斜以向前移动虚拟相机。可实现客户端设备的其它输入设备,包括但不限于听觉输入(例如,输出词语)、物理键盘、鼠标和/或操纵杆。

一些实施例对虚拟相机操纵提供各种可视反馈,诸如在从二维地图视图转变成三维地图视图时显示可能的虚拟相机操纵的动画。一些实施例还允许进行输入以选择地图特征或对象(例如,建筑物)并且加亮对象,从而产生维持虚拟相机对三维空间的感知的模糊效果。

在一些实施例中,客户端设备实现导航系统(例如,逐向导航)。导航系统提供可向用户显示的指引或路线信息。客户端设备的一些实施例从地图服务请求指引或路线计算。客户端设备可从地图服务接收地图图像数据和路线数据。在一些实施例中,客户端设备实现逐向导航系统,逐向导航系统基于从地图服务和/或其它位置系统诸如全球定位卫星(gps)接收的位置信息和路线信息来提供实时路线和指引信息。客户端设备可显示反应客户端设备的当前位置的地图图像数据并且实时更新地图图像数据。导航系统可提供听觉或视觉指引以遵循某条路线。

根据一些实施例,虚拟相机被实现以操纵导航地图数据。在一些实施例中,客户端设备允许设备调整虚拟相机显示取向以朝向路线目标偏置。一些实施例还允许虚拟相机通过模拟虚拟相机的惯性运动来导航转弯。

客户端设备实现利用来自地图服务的地图服务数据的各种技术。一些实施例实现优化二维和三维地图图像数据的渲染的一些技术。在一些实施例中,客户端设备本地存储渲染信息。例如,客户端存储样式表,该样式表提供用于包含样式标识符的图像数据的渲染指引。在另一示例中,可存储公共图像纹理以减少从地图服务传输的地图图像数据的量。不同实施例中的客户端设备实现渲染二维和三维地图图像数据的各种建模技术,建模技术的示例包括但不限于:从二维建筑物占有面积数据生成三维建筑物;对二维和三维地图对象建模以确定客户端设备通信环境;生成用于确定从某个虚拟相机位置是否可看到地图标签的模型;以及生成用于在地图图像数据之间平滑转变的模型。在一些实施例中,客户端设备还以某些技术来对地图服务数据定序或区分优先次序。例如,客户端设备检测虚拟相机的运动或速度,如果运动或速度超过某些阈值,则加载并渲染出某些区域的详细程度较低的地图数据。其它示例包括:将基于矢量的曲线呈现为一系列点、对于与地图服务的通信弱的区域预加载地图图像数据、基于显示缩放水平来调整纹理、或者根据复杂性呈现地图图像数据。

在一些实施例中,客户端设备利用与地图片分开的各种数据格式进行通信。例如,一些客户端设备实现辅助全球定位卫星(a-gps)并且与利用符合位置服务协议的数据格式的位置服务通信,位置服务协议诸如但不限于:无线电资源位置服务协议(rrlp)、用于码分多址接入(cdma)的tia801、无线电资源控制(rrc)定位协议、或lte定位协议(lpp)。客户端设备还可直接接收gps信号。实施例还可在具有或不具有来自地图服务的征求情况下发送数据,从而标识设备的能力或属性(例如,硬件规格或操作系统版本)或者通信能力(例如,如由无线信号强度或有线或无线网络类型确定的设备通信带宽)。

图64例示地图服务6430和客户端设备6402a-6402c的操作环境6400的一种可能的实施例。在一些实施例中,设备6402a、6402b、和6402c通过一个或多个有线或无线网络6410进行通信。例如,无线网络6410诸如蜂窝网络可通过使用网关6414与广域网(wan)6420诸如互联网通信。在一些实施例中,网关6414提供面向分组移动数据服务诸如通用分组无线电服务(gprs)、或其它移动数据服务,这些服务允许无线网络向其它网络诸如广域网6420传输数据。同样,接入设备6412(例如,ieee802.11g无线接入设备)提供对wan6420的通信接入。设备6402a和6402b可为能够与地图服务通信的任何便携式电子或计算设备。设备6402c可为能够与地图服务通信的任何非便携式电子或计算设备。

在一些实施例中,语音和数据通信均通过无线网络6410和接入设备6412来建立。例如,设备6402a可以通过无线网络6410、网关6414、和wan6420(例如利用传输控制协议/互联网协议(tcp/ip)或用户数据报协议(udp))发起和接收电话呼叫(例如利用互联网协议语音技术(voip)协议),发送和接收电子邮件消息(例如利用简单邮件传输协议(smtp)或邮局协议3(pop3)),以及检索电子文档和/或流,诸如网页、照片、和视频。同样,在一些具体实施中,设备6402b和6402c可通过接入设备6412和wan6420来拨打和接收电话呼叫、发送和接收电子邮件消息并且检索电子文档。在各种实施例中,任何例示的客户端设备可使用持久性连接与地图服务6430和/或一个或多个其它服务6450通信,持久性连接是根据一个或多个安全协议诸如安全套接层(ssl)协议或传输层安全(tls)协议来建立的。

设备6402a和6402b还可通过其它方式来建立通信。例如,无线设备6402a可通过无线网络6410与其它无线设备(例如,其它设备6402b、手机等)通信。同样,设备6402a和6402b可使用一个或多个通信子系统诸如来自washington的kirkland的bluetoothspecialinterestgroup,inc.的通信,来建立对等通信6440(例如,个人区域网)。设备6402c还可与设备6402a或6402b建立对等通信(未示出)。也可实现其他通信协议和拓扑结构。设备6402a和6402b还可从gps卫星6460接收全球定位卫星(gps)信号。

设备6402a、6402b和6402c可通过一个或多个有线和/或无线网络6412或6410与地图服务6430通信。例如,地图服务6430可将地图服务数据提供给渲染设备6402a、6402b和6402c。地图服务6430还可与其它服务6450通信以获得实现地图服务的数据。地图服务6430和其它设备6450还可从gps卫星6460接收gps信号。

在各种实施例中,地图服务6430和/或一个或多个其它服务6450被配置为处理来自任何客户端设备的搜索请求。搜索请求可包括但不限于:对企业、地址、住宅位置、感兴趣点、或它们的一些组合的查询。地图服务6430和/或一个或多个其它服务6450可被配置为返回与多种参数相关的结果,参数包括但不限于:输入到地址栏或其它文本输入字段中的位置(包括缩写和/或其它速记符号)、当前地图视图(例如,用户可能在位于一个位置时在多功能设备上查看另一位置)、用户的当前位置(例如,在当前地图视图并不包括搜索结果的情况下)以及当前路线(如果存在的话)。在各种实施例中,这些参数可基于不同的优先级权重影响搜索结果的组成(和/或搜索结果的定序)。在各种实施例中,所返回的搜索结果可为基于特定准则来选择的结果的子集,特定准则包括但不限于搜索结果(例如,特定感兴趣点)已经被请求的次数、对与搜索结果相关联的质量的衡量(例如,最高用户或编辑评论评级)、和/或搜索结果的评论量(例如,搜索结果被评论或评级的次数)。

在各种实施例中,地图服务6430和/或一个或多个其它服务6450被配置为提供自动完成搜索结果,自动完成搜索结果被显示在客户端设备上,诸如在地图绘制应用程序内。例如,当用户在多功能设备上输入一个或多个搜索关键词时,自动完成搜索结果可填充屏幕的一部分。在一些情况下,这个特征可节省用户时间,因为期望搜索结果可在用户输入完整搜索查询之前显示出来。在各种实施例中,自动完成搜索结果可为客户端在客户端设备上找到的搜索结果(例如,书签或联系人)、地图服务6430和/或一个或多个其它服务6450在其它地方(例如,从互联网)找到的搜索结果和/或它们的一些组合。与命令的情况一样,用户可通过语音或通过键入来输入任何搜索查询。多功能设备可被配置为在任何本文所述地图显示内图形地显示搜索结果。例如,图钉或其它图形指示器可将搜索结果的位置指定为感兴趣点。在各种实施例中,响应于用户对这些感兴趣点中的一者的选择(例如,触摸选择,诸如轻击),多功能设备被配置为显示关于所选择的感兴趣点的另外的信息,包括但不限于评级、评论或评论片段、操作小时数、商店状态(例如,对于企业开放,永久关闭等)和/或感兴趣点的店面的图像。在各种实施例中,任何这种信息都可显示在响应于用户对感兴趣点的选择而显示的图形信息卡片上。

在各种实施例中,地图服务6430和/或一个或多个其它服务6450提供一个或多个反馈机制以从客户端设备6402a-6402c接收反馈。例如,客户端设备可向地图服务6430和/或一个或多个其它服务6450提供关于搜索结果的反馈(例如,指定评级、评论、暂时或永久企业歇业、错误等的反馈);这种反馈可用于更新关于感兴趣点的信息,以便在未来提供更准确或最新的搜索结果。在一些实施例中,地图服务6430和/或一个或多个其它服务6450可向客户端设备提供测试信息(例如,a/b测试),以便确定哪个搜索结果是最佳的。例如,客户端设备可以随机间隔接收两个搜索结果并向用户呈现它们,并且允许用户指示最佳结果。客户端设备可向地图服务6430和/或一个或多个其它服务6450报告测试结果,以便基于所选择的测试技术来改进未来搜索结果,所选择的测试技术诸如其中将基线控制样本与多个单变量测试样本进行比较以便改进结果的a/b测试技术。

虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。例如,许多图示出了各种触摸手势(例如,轻按、双击、横扫手势、按下并保持手势等)。然而,所示出的操作中的许多操作可经由不同触摸手势(例如,横扫而非轻按等)或由非触摸输入(例如,使用光标控制器、键盘、触摸板/触控板、近触感屏等)来执行。另外,多个附图概念性地例示多个过程。这些过程的特定操作可不以所示出和描述的确切顺序被执行。可不在操作的一个连续系列中执行该特定操作,并且可在不同实施例中执行不同的特定操作。此外,该过程可使用若干子过程来实施,或者作为更大宏过程而实施。

虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。另外,多个附图概念性地例示多个过程。这些过程的特定操作可不以所示出和描述的确切顺序被执行。可不在操作的一个连续系列中执行该特定操作,并且可在不同实施例中执行不同的特定操作。此外,该过程可使用若干子过程来实施,或者作为更大宏过程而实施。因此,本领域的普通技术人员将理解,本发明不受前述示例性细节限制,而是将由所附的权利要求所限定。

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