在设备处于锁定模式时提供导航指令的制作方法

文档序号:14418762阅读:444来源:国知局
在设备处于锁定模式时提供导航指令的制作方法

相关申请引用

本申请是国际申请号为pct/us2013/043190、国际申请日为2013年5月29日、进入中国国家阶段日期为2014年11月28日、中国国家申请号为201380028722.1的发明专利申请的分案申请。



背景技术:

许多现今可用的基于地图的应用程序设计用于多种不同设备(例如,台式计算机、膝上型计算机、平板设备、智能电话、手持式全球定位系统(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透视图。可替代地,代替或除了缩放操作,其它实施例提供改变摄像机的位置的其它手势输入(例如,手指拖动操作)。在其它实施例中,手势输入(例如,手指拖动操作)暂时改变摄像机的查看方向,以便允许用户暂时扫视导航路线的一侧。在这些实施例中,在短时间段后,应用程序使摄像机沿路线返回至其先前视角。

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

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

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

类似地,一些实施例的导航应用程序基于应用程序正在显示标志或展示的情景自适应地生成用于与导航操纵相关联的道路标志和其它展示(例如,列表视图)的方向图形指示器。例如,当标志或展示上存在足够空间以供使用较大标志时,一些实施例的导航应用程序通过使用较大图形方向指示来辨识要在沿路线的路口处执行的操纵,较大图形方向指示器包括:(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例示根据一些实施例的地图服务操作环境。

具体实施方式

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

i.导航用户界面

a.开始

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

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

图1示出与地图绘制应用程序交互的六个阶段105、110、115、117、119、121。第一阶段105示出设备的ui120,该ui120在任务栏区域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展示的道路和建筑物片以及用于沉浸式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视图,该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,这些阶段1005-1015显示虚拟摄像机1000的位置维持在弧1050的限定范围内。如图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可统称为地图渲染模块。此处理流水线的更详细的型式描述在上文所并入的名称为“virtualcamerafor3dmaps”的美国专利申请13/632,040中。如图所示,处理流水线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-101north直走”内。当道路具有标志并且该标志作为图像可用于地图绘制应用程序时,一些实施例用道路标志来替换道路的文本名称。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在一些实施例中,“at”字段基于包括交通灯和停车标志信息等的地图信息。针对图23中所示的实例,第一路口出现“在道路的终点处”,而第二路口出现“在下一个灯”处。“turn”字段描述要做出的操纵;此字段的实例包括“右转”(在第一路口处执行的操纵)、“离开高速公路”、“靠左”、“略微左转”、“u形转弯”或其它操纵。包括操纵描述的路线指引可映射至“turn”字段的不同的可能的字串。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例如,当显示清楚表明转弯是略微右转的详细指令箭头时,一些实施例缩短指令以移除“略微”或甚至移除整个对转弯的标引,替代地使用沿“ca-17s,朝向santacruz”的线路的指令。类似地,如果显示大的道路路盾标志,那么可省略指令的“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。剩余阶段31023106示出在设备向前移动并且随后通过导航点(本文有时称为操纵,一些导航点表示道路中的路口)时对导航状态条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的特征指示设备的位置。地图本身包括设备所在的道路(curb路)以及导航应用程序指引用户朝向的道路(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)。在一些实施例中,如果用户正在向设备发送命令(例如,滚动通过消息),那么到期限的倒计数将不会开始,直到设备停止接收来自用户的命令。

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

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

iv.电子系统

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

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

a.移动设备

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

外围设备接口4415耦接至各种传感器和子系统,包括摄像机子系统4420、无线通信子系统4425、音频子系统4430、输入/输出子系统4435等。外围设备接口4415允许处理单元4405和各种外围设备之间的通信。例如,取向传感器4445(例如,陀螺仪)和加速度传感器4450(例如,加速度计)耦接至外围设备接口4415,以便有利于取向和加速功能。

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

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

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

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

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

b.计算机系统

图45概念性地例示实现本发明的一些实施例所利用的电子系统4500的另一个实例。电子系统4500可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、pda或任何其它种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统4500包括总线4505、处理单元4510、图形处理单元(gpu)4515、系统存储器4520、网络4525、只读存储器4530、永久性存储设备4535、输入设备4540以及输出设备4545。

总线4505总体表示可通信地连接电子系统4500的许多内部设备的所有系统、外围设备以及芯片组总线。例如,总线4505可通信地将处理单元4510与只读存储器4530、gpu4515、系统存储器4520以及永久性存储设备4535连接。

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

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

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

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

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

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

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

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

v.地图服务环境

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

设备4602a和4602b还可通过其它方式来建立通信。例如,无线设备4602a可通过无线网络4610与其它无线设备(例如,其它设备4602b、手机等)通信。同样,设备4602a和4602b可使用一个或多个通信子系统诸如来自华盛顿州柯克兰市bluetoothspecialinterestgroup公司的通信,来建立对等通信4640(例如,个人区域网)。设备4602c还可与设备4602a和4602b建立对等通信(未示出)。也可实现其他通信协议和拓扑结构。设备4602a和4602b还可从gps卫星4660接收全球定位卫星(gps)信号。

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

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

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

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

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

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

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