生成用于第三方应用程序的导航用户界面的制作方法

文档序号:19154842发布日期:2019-11-16 00:35阅读:220来源:国知局
生成用于第三方应用程序的导航用户界面的制作方法

本公开整体涉及生成用于导航应用程序的图形用户界面。



背景技术:

移动设备诸如智能电话通常用于执行导航功能。移动设备可包括呈现地图、搜索位置和/或提供导航指令的导航和/或地图绘制应用程序。事实上,移动设备上的导航应用程序已成为用户从一个位置导航到另一个位置的主要方式。为了利用移动设备的导航功能,一些车载信息娱乐系统(例如,显示屏、导航系统、无线电系统等)被配置为与移动设备进行交互,使得移动设备的功能可通过车载信息娱乐系统来访问。



技术实现要素:

在一些具体实施中,移动设备可代表第三方应用程序生成图形用户界面(gui)以供车载信息娱乐系统呈现。移动设备可获得车辆系统的配置信息。移动设备(例如,操作系统)可被配置具有用于定义各种用户输入控件的布局的各种gui模板。第三方应用程序可向操作系统提供模板标识符和地图数据。移动设备可基于所识别的模板、地图数据和车辆系统的配置信息来生成用于第三方应用程序的gui专用于由车辆系统显示。移动设备继而可将所生成的gui发送至车辆系统,并且车辆系统可将gui呈现在车辆系统的显示器上。

特定具体实施提供了至少以下优点。通过生成用于第三方应用程序的图形用户界面,移动设备可在车辆系统的显示器上呈现在各应用程序之间具有一致外观和感觉的图形用户界面。通过生成用于第三方应用程序的图形用户界面,移动设备可生成被优化以供各种车辆系统中的每一车辆系统显示的图形用户界面,而不会通过配置第三方应用程序以处理各种车辆系统的不同功能来加重第三方应用程序提供方的负担。通过生成用于第三方应用程序的图形用户界面,移动设备可管理第三方应用程序和车辆系统之间的交互,以确保车辆系统所呈现的gui适合于当前车辆情境(例如,正在驾驶、静止、停车、白天、夜间等)。本文所述的模板化框架允许第三方应用程序向用户/驾驶员提供导航功能,同时促进移动设备和/或车载导航系统的安全使用。

在下面的附图和具体实施方式中阐述了一种或多种具体实施的细节。其他特征、方面和潜在优点将在具体实施方式和附图以及权利要求书中显而易见。

附图说明

图1是用于生成用于第三方应用程序的导航用户界面的示例性系统的框图。

图2是用于使用ui模板生成导航gui的示例性系统的框图。

图3是用于使用ui模板生成导航gui的示例性系统的框图。

图4示出了一种示例性地图模板。

图5示出了针对被配置用于触摸输入的车辆系统显示器的示例性搜索模板。

图6示出了针对未被配置用于触摸输入的车辆系统显示器的示例性搜索模板。

图7示出了一种示例性全屏警示模板。

图8示出了一种示例性网格模板。

图9示出了一种示例性列表模板。

图10示出了一种示例性路线预览模板。

图11示出了用户已选择查看更多路线的另一示例路线预览模板。

图12示出了一种示例性路线引导模板。

图13示出了一种示例性导航警示模板。

图14示出了一种示例性导航警示横幅通知。

图15示出了一种示例性语音控制模板。

图16示出了一种示例性操作表单警示模板。

图17示出了一种示例性地图平移模板。

图18是用于生成用于第三方应用程序的导航用户界面的示例性过程的流程图。

图19是用于处理针对第三方应用程序而生成的导航用户界面的用户输入的示例性过程的流程图。

图20是可实现图1-19的特征和过程的示例性计算设备的框图。

各个附图中的类似参考符号指示类似的元素。

具体实施方式

图1是用于生成用于第三方应用程序的导航用户界面的示例性系统100的框图。例如,系统100可被配置为代表运行在用户设备上的软件应用程序生成用于车载信息娱乐系统(例如,导航系统、音乐系统、无线电部件、显示屏以及它们的组合等)的图形用户界面(gui)。软件应用程序可以是例如第三方导航应用程序或被配置为在车载信息娱乐系统(即,车辆系统)上使用或通过车载信息娱乐系统使用的其他软件应用程序。用于代表软件应用程序在车辆系统上呈现而生成的gui可具体针对车载环境和/或驾驶环境生成。例如,系统可生成针对车载环境和/或驾驶环境具体配置的不同gui,而不是简单地镜像由软件应用程序在用户设备上所呈现的相同gui。例如,针对车载环境和/或驾驶情境具体配置的gui可包括附加的元素和/或特征、更少的元素和/或特征,和/或与由软件应用程序生成用于呈现在用户设备上的gui的元素和/或特征的不同布局和/或机构。这些车载gui可被配置为促进软件应用程序在车载环境中的安全使用。

在一些具体实施中,系统100可包括用户设备110。例如,用户设备110可为计算设备,诸如膝上型计算机、智能手机、平板电脑、智能手表或其他移动计算设备。

用户设备110可包括导航应用程序120。例如,导航应用程序120可以是由第三方软件开发者(例如,不是创建用户设备110和/或其操作系统的第一方开发者)开发的软件应用程序。导航应用程序120可被配置为在用户设备110的显示器上呈现各种图形用户界面,以用于向用户设备110的用户呈现地图、导航指令、搜索界面、搜索结果等。

在一些具体实施中,导航应用程序120可被配置为向车辆系统150(例如,信息娱乐系统)提供导航功能。为此,导航应用程序120可与车辆ui生成器130进行交互,以使得车辆ui生成器130生成适用于车载和/或驾驶环境的图形用户界面。

在一些具体实施中,用户设备110可包括车辆ui(用户界面)生成器130。例如,车辆ui生成器130可以是由用户设备110的操作系统提供的软件模块、库、过程或服务。车辆ui生成器130可被配置具有各种ui模板132,这些ui模板定义(或预定义)控件、图形元素、信息区域等的布局,以供车辆系统150呈现导航图形用户界面。为了生成适用于用户设备110连接到的特定车辆系统的gui,当用户设备110连接到车辆系统150时,车辆ui生成器130可从车辆系统150获得车辆系统信息102。例如,车辆系统信息102可包括描述车辆系统150的用户输入功能(例如,触摸屏输入、物理按钮和/或旋钮控件、语音控制等)的信息。车辆系统信息102可包括描述车辆系统150的显示功能(例如,触摸输入屏幕、高清晰度、低清晰度、显示尺寸、颜色功能等)的信息。车辆系统信息102可包括描述车辆系统150的传感器功能(例如,光传感器、速度传感器、麦克风等)的信息。车辆ui生成器130可基于从车辆系统信息150获得的特定车辆系统功能来生成用以车辆系统150显示的gui。例如,车辆gui生成器130可基于ui模板130生成gui并针对车辆系统150的特定显示尺寸、颜色特性、光照条件和/或当前行驶速度进行调节。

虽然ui模板132定义由车辆ui生成器130生成以供车辆系统150显示的各种图形用户界面的布局和外观,但导航应用程序120也提供用于每个gui元素、控件和信息区域的内容。此外,导航应用程序120为由车辆ui生成器130生成并由车辆系统150呈现的gui所呈现的特征提供功能性。例如,当用户向由车辆系统150在导航gui上所呈现的控件或其他图形元素提供输入时,车辆ui生成器130可向导航应用程序120发送消息,该消息包括识别控件和/或由用户提供的任何其他数据输入(例如,文本输入、字符输入、搜索查询等)的输入数据。导航应用程序120然后可响应于接收到输入数据而执行适当的功能,包括使车辆ui生成器130生成用于在车辆系统150上显示的新gui。

在车辆ui生成器130基于由导航应用程序120、ui模板120和车辆系统信息102提供的内容生成用于导航应用程序120的图形用户界面之后,车辆ui生成器130可将所生成的车辆ui134发送至车辆系统150以呈现给用户。例如,用户设备110和/或导航应用程序120可通过网络170发送和接收数据,包括系统信息102、车辆ui134和输入数据162。在一些具体实施中,网络170可对应于用户设备110和车辆系统150之间的直接有线连接。在一些具体实施中,网络170可对应于用户设备110和车辆系统150之间的无线连接。

在一些具体实施中,系统100可包括车辆系统150。例如,车辆系统150可为被配置为向用户提供各种特征和/或服务的车载计算设备。车辆系统150可提供车辆操作信息和诊断。车辆系统150可提供娱乐特征,诸如流式音乐、无线电广播、音频、视频等。车辆系统150可包括内置软件应用程序和/或其他软件特征。

在一些具体实施中,车辆系统150可包括车辆ui模块152(例如,软件模块、软件服务等),该车辆ui模块被配置为与用户设备110上的车辆ui生成器130交互以呈现由车辆ui生成器130生成的导航gui(例如,在车辆ui消息134中接收)并且在用户向由车辆ui生成器130生成并由车辆系统150呈现的gui提供输入时将输入数据162发送回用户设备110。例如,车辆ui模块152可用作用户设备110和车辆系统150之间的车辆侧接口。因此,车辆ui模块152可从用户设备110接收gui,并且使车辆系统150将所接收的gui呈现在显示设备156上。车辆ui模块152可从车辆系统150接收用户和/或传感器输入并将用户和/或传感器输入作为输入数据162发送给用户设备110。

在一些具体实施中,车辆系统150可包括输入设备154。例如,输入设备154可以是单个输入设备或多个输入设备。输入设备154可为触摸屏设备,该触摸屏设备能够检测和处理由车辆系统150的用户所提供的触摸输入以选择由车辆系统150呈现的gui上的各种图形元素。输入设备154可对应于物理输入控件,诸如旋钮、物理按钮等。例如,用户可操纵物理控件以导航浏览和/或选择包括在车辆系统150所呈现的gui上的各种gui元素和控件。输入设备154可对应于传感器,诸如麦克风。例如,用户可将输入作为口头语音命令提供至车辆系统150。车辆系统150可解读语音命令并执行适当的动作。

在一些具体实施中,车辆系统150可包括显示设备156。例如,显示设备156可为单个显示设备或多个显示设备。显示设备156可对应于触摸屏显示设备。显示设备156可对应于无法检测触摸输入的非触摸屏显示设备。显示设备156可被设置在安装有车辆系统150的车辆的仪表盘和/或仪表板中。

在一些具体实施中,车辆系统150可包括传感器158。例如,传感器158可为单个传感器或多个传感器。传感器158可对应于用于检测车辆或车辆系统150中和/或周围的环境光状况的光传感器。传感器158可对应于用于确定车辆何时移动和/或车辆移动的速度的速度传感器。在一些具体实施中,当传感器158检测到和/或生成传感器数据时,传感器158可将传感器数据发送至车辆ui模块152。车辆ui模块152继而可将传感器数据作为输入数据162发送给用户设备110。车辆ui生成器130和/或导航应用程序120继而可使用传感器数据来调节需由车辆系统150呈现的gui和/或gui数据。例如,车辆ui生成器130可使用光传感器数据来确定使用夜间配色方案还是使用日间配色方案来生成图形用户界面。车辆ui生成器130可使用速度传感器数据来确定在车辆移动时是否限制对各种gui和/或gui数据的访问。

在一些具体实施中,车辆系统150可包括麦克风160。例如,车辆系统150可包括用于接收语音输入(诸如口头命令)和/或向用户提供其他免持语音特征的一个或多个麦克风160。

图2是用于使用ui模板生成导航gui的示例性系统200的框图。例如,系统200可对应于系统100。如上所述,ui模版132可包括(例如,被配置有、被预先配置有,等等)定义需由车辆系统150呈现的导航gui的布局、外观和感觉的各种通用导航gui模板。例如,ui模板132可包括地图模板202、列表模板204、网格模板206、搜索模板208、路线选择器模板210、语音控制模板212、错误/警示模板214、操作表单模板216和/或导航警示模板218。下面更详细地描述这些模板中的每个模板。然而,每个模板包括位于每个模板内的预定义位置处的预定义(例如,最大)数量的控件(例如,按钮)。每个模板可包括位于每个模板内的预定义位置处的信息区域。每个模板可被配置为使用基于从车辆系统150接收的车辆系统信息而选择或优化的配色方案来呈现数据、控件、信息、文本等,如上所述。虽然控件的数量、控件的布局、信息元素的布局和配色方案由ui模板132和/或车辆ui生成器130定义,但导航应用程序120也提供用于填充由各种控件和/或用户输入元素触发的模板和导航应用程序特征的内容。

为了使车辆ui生成器130生成用于导航应用程序120的车辆gui,导航应用程序120可将模板标识符230、地图视图232和/或模板数据234发送至车辆ui生成器130。例如,导航应用程序120可(例如,基于需呈现给用户的数据)确定在车辆系统150的显示器上呈现gui内容、指令和/或控件所需的模板类型。导航应用程序120通过车辆系统150呈现给用户的数据将基于导航应用程序120的配置和/或编程和/或导航应用程序120接收到的用户输入而变化。

导航应用程序120生成或将地图视图232提供至车辆ui生成器130以供车辆系统150呈现。例如,导航应用程序120可基于导航应用程序120的操作环境生成各种地图视图(例如,地图图块、地图图像、栅格图块等)。导航应用程序120可生成和/或提供与操作用户设备110和/或车辆系统150所在的车辆的用户所遍历的路线相对应的地图视图。导航应用程序120可生成和/或提供与需由车辆系统150呈现的路线预览相对应的地图视图。导航应用程序120可生成和/或提供显示选定目的地或多个候选目的地周围的区域(例如,作为搜索查询的结果)的地图视图。由导航应用程序120生成和/或提供的地图视图可包括各种地图元素,包括道路、建筑物、表示选定目的地的图形元素,和/或表示一条或多条选定路线和/或候选路线的图形元素。

导航应用程序120可生成模板数据234并将其提供至车辆ui生成器130。例如,导航应用程序120可提供数据用以填充所识别的模板中的各种图形元素。例如,导航应用程序120可提供文本和/或图像以便利用用户的导航指令和/或路线或行程信息来填充信息区域。在模板接受图形元素(例如,按钮、信息区域等)的文本的情况下,导航应用程序120可提供具有不同字符串/字符长度的多个文本变体。车辆ui生成器130可选择(例如,基于车辆系统信息102)适合于车辆系统显示器和/或由车辆ui生成器130生成的gui的设计约束内的文本变体。车辆ui生成器可例如选择提供最多信息(例如,最长字符串)并且适合于基于车辆系统信息102(例如,显示器156的尺寸)生成的gui内的文本变体。例如,相比于窄屏幕,具有较宽屏幕的车辆显示器将允许更多文本显示在全屏警示模板和/或横幅通知上。

导航应用程序120可以在模板数据234中指定在所识别的模板内启用或禁用哪些图形元素。例如,所识别的模板可指定gui上的图形元素(例如,按钮、控件、信息区域、面板等)的最大数量和/或位置。然而,导航应用程序120可指定当gui由车辆系统120呈现时应呈现或隐藏所识别的模板中哪些图形元素。导航应用程序120可提供用于按钮的标签、图像等以呈现在从ui模板生成的gui上。导航应用程序120可为响应于用户对对应图形元素的选择而被调用或生成的模板中的每个图形元素指定导航应用程序api、功能或消息类型。例如,导航应用程序120可指定响应于用户选择gui模板呈现的特定按钮应调用导航应用程序120的搜索api。导航应用程序120可指定响应于用户选择由gui模板呈现的特定方向按钮应将指示平移(例如,滚动)方向的消息发送至导航应用程序120,使得导航应用程序120可为用户已将显示器平移到其中的相邻地图区域生成地图视图。这些只是可以通过gui模板定义的交互类型的一些示例;下文结合单独的模板类型提供了另外的示例。

在一些具体实施中,车辆ui生成器130可基于模板标识符230、地图视图232和/或模板数据234来生成图形用户界面。例如,车辆ui生成器130可通过结合所识别的模板、地图视图232和模板数据来生成图形用户界面(gui236),如下文参考图3进一步所述。在一些具体实施中,车辆iu生成器130可基于传感器数据或其他输入数据来调节或修改模板和/或gui。例如,车辆ui生成器130可基于由连接到车辆系统150的光传感器所检测到的光的量来调节gui的配色方案。车辆ui生成器130可基于指示用户正在驾驶的车辆正在移动或静止的速度传感器数据来调节对各种gui特征、数据和/或控件的访问。例如,车辆ui生成器可在驾驶期间减少列表(例如,搜索结果)中呈现的项目数量,使得用户在驾驶期间不花费过多的时间查看车辆系统150的显示器。在车辆静止时可呈现较长的列表。车辆ui生成器可在驾驶期间移除对搜索模板的访问,使得用户在驾驶期间不花费太多的时间查看车辆系统150的显示器。当车辆静止时,可以允许对搜索模板进行访问。

在生成gui236之后,车辆ui生成器130可将gui236发送至车辆ui模块152。例如,在接收到gui236时,车辆ui模块152可将gui236呈现在车辆系统152的显示器上。另外,车辆ui模块152可处理由车辆系统152接收的用户输入和/或传感器输入。例如,当用户提供输入时(例如,使用触摸屏显示器、物理控件、物理旋钮、物理按钮、语音输入等),车辆ui模块152可处理输入并将描述输入的输入数据238发送至车辆ui生成器130。车辆ui生成器130可处理输入数据238以确定gui236上呈现的哪些图形元素(例如,控件、按钮、按键等)已被选择。车辆ui生成器130可处理输入数据238以基于传感器数据来确定要进行的gui调节。车辆ui生成器130可将消息或api调用中的输入数据240发送至导航应用程序120,使得导航应用程序120可适当地响应用户和/或传感器输入。

在一些具体实施中,导航应用程序120可通过使车辆ui生成器130生成用于由车辆系统150呈现的另一gui来响应用户和/或传感器输入。例如,导航应用程序120可将不同的模板标识符、地图视图和模板数据发送至车辆ui生成器130以改变车辆系统150所呈现的gui。

图3是用于使用ui模板生成导航gui的示例性系统300的框图。例如,系统300可对应于上述图2的系统200和图1的系统100。图3示出了如何通过结合不同gui层以及导航应用程序120与不同层之间的交互来生成用于导航应用程序120的图形用户界面以供车辆系统150显示。

如上所述,图形用户界面(例如,gui301)可通过将由导航应用程序120提供的数据与由车辆ui生成器130提供的图形元素和/或用户界面模板结合而生成。

gui301可通过结合不同的gui层来构造。例如,车辆ui生成器130可提供系统用户界面层310,该系统用户界面层提供用于访问系统级功能和/或应用程序的gui。系统ui层310可用作车辆ui模块152和/或用户设备110所提供的功能和应用程序的背景(例如,类似于计算机桌面或主屏幕显示器)。

系统ui层310可包括系统侧边栏311。侧边栏311可包括表示当前前台应用程序的图形元素312。侧边栏311可包括表示其他系统应用程序(诸如由用户设备110提供的音乐应用程序和/或电话应用程序)的图形元素314和316。侧边栏311可包括在被选择时使得当前前台应用程序在后台运行并且使得系统ui层310在显示器上的前台中呈现的图形元素318。

系统ui层310可包括表示被配置为由车辆系统150呈现的其他第一方或第三方应用程序的一个或多个图形元素320。例如,当导航应用程序120被配置成将图形用户界面呈现在导航系统150上并与之交互操作时,图形元素320可表示导航应用程序120。当用户选择图形元素320时,导航应用程序120可在用户设备110上被调用并且可使得导航图形用户界面由车辆系统150呈现,如本文所述。

当检测到系统级事件(例如,应用程序调用、致使应用程序在后台运行的输入等)时,可将系统状态消息302发送至导航应用程序120。导航应用程序120可使用系统状态消息302中的系统状态信息来基于当前系统状态确定选择用以在车辆系统150上呈现导航信息的适当gui模板。

在一些具体实施中,gui301可包括基本视图(即,地图视图)层330。例如,基本视图层330是基于由导航应用程序120提供的地图视图304(例如,地图图像)而生成的导航应用层。基本视图层330可呈现在系统ui层310的顶部,使得侧边栏311仍然可见,如下图所示。导航应用程序120可在基本视图330中或基本视图上绘制地图、图标、路线、建筑物和/或任何其他地图图形元素。然而,基本视图330不提供控件或用户输入功能。例如,如果导航应用程序120要在基本视图层330上绘制用户界面控件(例如,按钮),则用户将无法选择用户界面控件,并且无法将对用户界面控件的用户输入返回至导航应用程序120。

在一些具体实施中,gui301可包括模板覆盖层340。例如,模板覆盖层340可包括导航应用程序120所选择或识别的模板和为由所识别的模板定义的每个图形元素(例如,按钮、信息区域等)提供内容的模板数据306。虽然导航应用程序120为模板覆盖层340提供内容数据,但车辆ui生成器130也通过将内容数据与由导航应用程序120所选择和/或识别的模板相结合来生成模板覆盖层340。例如,模板中的每个图形对象可与标识符相关联。模板数据306可提供模板元素标识符和需在所识别的模板元素中呈现的内容之间的映射。导航应用程序120可在模板数据306中指定要隐藏的模板图形元素,但导航应用程序120无法使模板呈现比针对所识别的模板预定义的图形元素更多的图形元素。

虽然基本视图层330未被配置用于导航应用程序120的用户输入和/或控制反馈,但模板覆盖层340提供用户输入控件,从而被配置为向导航应用程序308提供用户输入数据308。用户输入数据308可包括描述或识别出由模板覆盖层340呈现的哪些用户界面控件已被用户选择的信息,从而允许导航应用程序120生成对用户输入的适当响应。车辆ui生成器130可通过在系统ui层310上绘制基本视图层330并在基本视图层330上绘制模板覆盖层340将层310、330和340结合起来以生成用于导航应用程序120的gui301,如图4和随后的gui附图所示。因此,gui301通过将由导航应用程序120生成的基本层330夹在由操作系统(例如,用户设备110的车辆ui生成器130)生成的系统ui层310和模板覆盖层340之间而生成。

在基本视图层330(例如,地图层)覆盖系统ui层310的大部分(例如,侧边栏311除外)的情况下,在大多数模板中,基本视图层330所呈现的地图可通过模板覆盖层340的未呈现用户界面控件(例如,按钮、信息元素、其他图形元素等)的区域来查看。在随后的模板未被描述为完全遮挡或覆盖基本视图层330的模板描述中,模板相对于未被用户界面控制元素覆盖的区域是透明的。用户可通过模板覆盖层看到或查看地图的这些透明区域可被称为车辆ui生成器130所生成的gui内的安全区域(例如,对于导航应用程序120绘制用于呈现给用户的地图特征来说安全的区域)。

图4示出了一种示例性地图模板400。例如,地图模板400可对应于模板覆盖层340。地图模板400是作为基本视图330上的覆盖出现并且允许导航应用程序120呈现用户控件的控制层。地图模板400包括导航栏401和地图按钮410、412和/或414。默认情况下,导航栏在用户与导航应用程序120交互时出现,并且在处于不活动状态一段时间(例如,5秒)后消失。导航栏包括至多两(2)个前导按钮402和/或404以及至多两(2)个后续按钮406和/或408。导航应用程序120可使用图像或文本来定制这些按钮的外观。导航应用程序120可定制由这些导航栏按钮调用的导航应用程序120的功能。例如,按钮402-408可被单独地配置为调用导航应用程序120的不同功能。例如,按钮402可在被选择时调用目的地搜索功能。按钮404可在被选择时调用目标浏览功能。按钮406可调用导航应用程序120的语音输入模式。按钮408可调用由导航应用程序120提供的其他功能。地图模板400可包括至多三(3)个地图按钮410、412和/或414。地图按钮可被显示为图标(例如,没有文本)。导航应用程序120可指定在选择每个按钮时要调用的导航应用程序120的功能。例如,导航应用程序120可通过对地图按钮410、412和/或414上的用户动作进行响应而进入平移模式、放大或缩小以及执行其他功能。

在一些具体实施中,当使用模板生成用于导航应用程序120的图形用户界面时,如本文所述,车辆ui生成器可确定所生成的gui内的安全区域420。例如,安全区域420可以是所生成的图形界面内的覆盖或覆盖图形元素未遮挡下面地图的区域。车辆ui生成器可向导航应用程序120发送指示安全区域420在所生成的gui内的所处位置的信息,使得导航应用程序120可在基本层330上未被所选择或所识别的模板层遮挡的基本层330的区域中绘制重要的地图元素(例如,路线、目的地等)。

图5示出了针对被配置用于触摸输入的车辆系统显示器的示例性搜索模板500。例如,搜索模板500可对应于模板覆盖层340。在一些具体实施中,搜索模板500可完全覆盖或遮挡绘制在基本层330上的地图。

搜索模板500允许导航应用程序120呈现目的地搜索屏幕。例如,搜索模板500可包括搜索字段502、取消按钮508、搜索结果504的列表和键盘视图506。键盘以适当的语言自动显示,并且由用户设备110的操作系统(例如,车辆ui生成器130)来管理。基于车辆系统150的输入能力来选择搜索模板500中呈现的键盘的类型。例如,当车辆系统150能够接收触摸输入时,虚拟触摸键盘可呈现在区域506中。当车辆系统150无法接收触摸输入时,可使用物理控件(例如,物理按钮、旋钮、旋转控件等)来选择输入字符,如下文参考图6进一步所述。用户选择的每个键盘字符将使得字符出现在搜索字段502中。搜索字段502中的每个字符和/或文本可在它们被输入和/或响应于用户对图形元素508的选择时被发送至导航应用程序120。例如,导航应用程序120可对搜索文本进行解析并基于由导航应用程序120执行的搜索来更新搜索结果504的列表。

车辆ui生成器130可基于使搜索模板出现的用户交互来自动选择键盘的类型。例如,如果用户使用物理控件来提供导致搜索模板出现的输入,则车辆ui生成器130可使得适于物理输入设备的键盘出现(例如,如图6所示)。如果用户使用触摸屏输入控件来提供导致搜索模板出现的输入,则车辆ui生成器130可使得适合于触摸屏输入的键盘出现(例如,如图5所示)。

当用户从搜索结果504中选择项目时,导航应用程序120可接收与所选择的项目相关联的信息并且使用本文所述的模板覆盖和基本视图(地图视图)并根据导航应用程序120的编程来生成适当的响应(例如,呈现目的地、目的地预览或路线)。

图6示出了针对未被配置用于触摸输入的车辆系统显示器的示例性搜索模板600。例如,搜索模板600可对应于模板覆盖层340。在一些具体实施中,搜索模板600可完全覆盖或遮挡绘制在基本层330上的地图。

搜索模板600允许导航应用程序120呈现目的地搜索屏幕。例如,搜索模板600可包括搜索字段602、取消按钮622、搜索结果616、618和/或620的列表,以及用于向搜索字段602提供字符输入的可滚动输入区域604。输入区域604中的文本和/或字符以适当的语言自动显示并且由用户设备110的操作系统来管理。可滚动输入区域604基于车辆系统150的输入能力在搜索模板600中呈现。例如,当车辆系统150无法接收触摸输入(例如,依赖于物理控件、旋钮等)时,可呈现可滚动输入区域604,使得用户可使用车辆系统150的物理控件来滚动浏览数字列表606、字母列表608和/或空格栏610并从中选择字符作为搜索字段602的输入。用户选择的每个键盘字符将使得字符出现在搜索字段602中。搜索字段602中的每个字符和/或文本可在它们被输入和/或响应于用户对图形元素614的选择时被发送至导航应用程序120。例如,导航应用程序120可对搜索文本进行解析并基于由导航应用程序120执行的搜索来更新搜索结果616、618和/或620的列表。

当用户从搜索结果616、618和/或620中选择项目时,导航应用程序120可接收与所选择的项目相关联的信息并且使用本文所述的模板覆盖和基本视图并根据导航应用程序120的编程来生成适当的响应(例如,呈现目的地、目的地预览或路线)。

图7示出了一种示例性全屏警示模板700。例如,全屏警示模板700可对应于模板覆盖层340。在一些具体实施中,全屏警示模板700可完全覆盖或遮挡绘制在基底层330上的地图。在一些具体实施中,全屏警示模板700可完全覆盖或遮挡其他模板,诸如上述搜索模板500和/或600。

在一些具体实施中,导航应用程序120可被配置为使得车辆ui生成器130和/或车辆系统150呈现全屏警示。例如,当导航应用程序120呈现指示导航路线结束的信息时,可呈现全屏警示。因此,当用户尝试调用基于上述模板500和/或600生成的搜索界面时,可生成基于全屏警示模板700而生成的gui。例如,在用户正在驾驶的情况下,键盘访问可受到限制。

在一些情况下,当用户设备110的操作系统和/或车辆系统150呈现识别用户正在尝试访问的受限特征的信息时,可呈现全屏警示。全屏警示模板700可包括警示区域702,在该警示区域中导航应用程序120、用户设备110的操作系统和/或车辆系统150可呈现消息。全屏警示模板700可包括至多两个按钮,这些按钮可被配置具有文本并且在被选择时将使得导航应用程序120、用户设备110的操作系统和/或车辆系统150执行与所选择的按钮相关联的功能。例如,按钮704可被配置为解除全屏警示并返回到先前gui或者由导航应用程序120、用户设备110的操作系统和/或车辆系统150所确定的另一gui。

图8示出了一种示例性网格模板800。例如,网格模板800可对应于模板覆盖层340。在一些具体实施中,网格模板800可完全覆盖或遮挡绘制在基底层330上的地图。例如,网格模板800可由导航应用程序120填充内容以生成用于由导航系统150显示的目标浏览器gui。导航应用程序120可使得目标浏览器gui响应于用户对图形对象(例如,由地图模板400呈现的按钮402、404、406或408)的选择来由车辆ui生成器130生成并由车辆系统150呈现。

在一些具体实施中,网格模板800允许导航应用程序120呈现菜单项的网格。网格模板800可包括导航栏802和网格视图804。导航栏802可包括标题806以及至多两(2)个前导按钮(808,810)和两(2)个后续按钮(812,814)。导航应用程序120使用图标或文本来定制这些按钮的外观并且/或者指定当选择每个按钮时导航应用程序120要调用的功能。导航应用程序120可配置网格视图804以包括至多八(8)个项(例如,项目816、818、820等)。网格视图804中的每个项目可包括图标和标题。例如,为了生成目标浏览gui,导航应用程序120可确定每个网格视图项816、818和/或820的类别(例如,食物的类型,玉米卷、汉堡包、比萨饼等)。当用户选择网格视图项(例如,项目816)时,导航应用程序120可对与对应于所选择的网格视图项的类别(例如,玉米卷)相关联的目标执行目标搜索。这仅为网格视图模板800可如何由导航应用程序120用于向用户提供对导航应用程序功能的访问的一个示例。

网格模板300可被配置为和/或用于呈现网格项的分级结构。继续上述示例,第一级网格模板300可呈现表示项目大类(例如,食品、购物、娱乐等)的网格项目。当从第一级网格模板300中选择网格项(例如,食品类)时,可呈现第二级网格模板300,该第二级网格模板呈现与所选择类别的子类别(例如,玉米卷、汉堡包、比萨饼等)对应的网格项。网格和/或网格项的分级结构可包括若干级别。然而,分级结构不可超过可配置的级别数量(例如,5级)。对分级结构级别数量的这种限制可在各种模板(例如,网格模板、列表模板等)上全局实施。

图9示出了一种示例性列表模板900。例如,列表模板900可对应于模板覆盖层340。在一些具体实施中,列表模板900可完全覆盖或遮挡绘制在基底层330上的地图。例如,列表模板900可由导航应用程序120填充内容以生成用于由导航系统150显示的搜索结果列表gui(或其他类型的列表)。例如,导航应用程序120可响应于用户输入搜索查询并且/或者通过向例如基于上述搜索模板中的一个搜索模板生成的搜索gui提供输入来提供请求搜索结果的输入,使得搜索结果列表gui由车辆ui生成器130生成并由车辆系统150呈现。

导航应用程序120可使用列表模板900呈现菜单项的分级列表。列表模板900可包括导航栏902和列表视图904。导航栏902可包括标题906以及至多两(2)个前导按钮(例如,按钮908)和两(2)个后续按钮(例如,按钮909)。导航应用程序120可使用图标或文本来定制这些按钮的外观并且/或者指定当选择每个按钮时导航应用程序120要调用的功能。列表视图904中的每个项目(910,920,930,940,950等)可包括图标(912,922,932,942,952等)、标题、副标题和指示存在子菜单的可选的扩展指示符(924)。菜单分级结构的深度不可超过可配置的级别数量(例如,5级)。在一些具体实施中,导航应用程序120、车辆ui生成器130和/或车辆系统150可基于车辆系统150的当前驾驶情境(例如,车辆正在移动,车辆处于静止等)来限制或约束可在列表中显示的项目的总数。

在一些具体实施中,列表模板900可包括侧边栏960,该侧边栏包括图形元素962和/或964。例如,用户可选择图形元素962和/或964以向上(962)或向下(964)滚动浏览列表视图904中列出的项目。

图10示出了一种示例性路线预览模板1000。例如,路线预览模板1000可对应于模板覆盖层340。路线预览模板1000可对应于地图模板400。例如,路线预览模板1000可由导航应用程序120填充内容以生成用于由导航系统150显示的路线预览gui。例如,导航应用程序120可响应于用户选择导航应用程序120应针对其生成路线或路线预览的目的地(例如,从列表视图、搜索结果等中),使得路线预览gui由车辆ui生成器130生成并由车辆系统150呈现。

路线预览模板1000可被配置为呈现路线预览面板1002。例如,导航应用程序120可配置路线预览面板1002以呈现针对所选择的目的地的路线选项。建议或优选的路线可在面板区域1004中示出。如果多于一(1)条路线可用,则将自动显示“更多路线...”按钮1006,从而允许用户预览不同路线,如以下图11所示。导航应用程序120可提供关于每条路线的信息,包括名称、距离和估计的行走时间。每当用户预览路线(例如,选择新的或不同的目的地)时,导航应用程序120可更新基本视图330以(例如,在安全区域420中)提供路线的视觉表示。路线预览面板1002可包括“出发”按钮1008。当用户选择按钮1008时,导航应用程序120可清除路线预览模板1000(例如,通过移除路线预览面板1002和/或呈现地图模板400),并且通过呈现更新的地图视图、信息元素、警报和/或本文所述的其他内容开始到对目的地的路线引导。

图11示出了用户已选择查看更多路线的另一示例路线预览模板1000。继续参考图10的上述示例,当用户选择按钮1006来查看更多路线时,路线预览面板1002可呈现包括路线项1006、1108和/或1110的路线列表,每个路线项呈现有关用于到达所选择的目的地的备选路线的信息。例如,导航应用程序120可提供关于每条路线的信息,包括名称、距离和估计的行走时间。每当用户预览路线(例如,选择新的或不同的目的地)时,导航应用程序120可更新基本视图330以(例如,在安全区域420中)提供路线的视觉表示(例如,预览)。如果能够获得比在路线预览面板1002上可显示的路线更多的路线,则“更多路线...”按钮(图11中未示出,图10的项目1006)将自动显示,从而允许用户预览其他路线。路线预览面板1002可包括“概览”按钮1009以使得所选择路线的详细视图呈现在路线预览面板1002中,如图10所示。路线预览面板1002可包括“出发”按钮1008。当用户选择按钮1008时,导航应用程序120可清除路线预览模板1000(例如,通过移除路线预览面板1002和/或呈现地图模板400),并且通过呈现更新的地图视图、信息元素、警报和/或本文所述的其他内容开始到对目的地的路线引导。

图12示出了一种示例性路线引导模板1200。例如,路线引导模板1200可对应于模板覆盖层340。路线引导模板1200可对应于地图模板400。例如,路线引导模板1200可由导航应用程序120填充内容以生成用于由导航系统150显示的路线引导gui。例如,导航应用程序120可响应于用户选择导航应用程序120应针对其生成路线或路线预览的目的地(例如,从列表视图、搜索结果、路线预览等中),使得路线引导gui由车辆ui生成器130生成并由车辆系统150呈现。

路线引导模板1200可包括路线引导面板1202和/或1206。导航应用程序120可配置路线引导面板1202以显示逐向路线引导。例如,导航应用程序120可提供描述即将到来的策略的信息。导航应用程序120可配置路线引导面板1202以显示至多两(2)种即将到来的策略。呈现在路线引导面板1202上的每种策略可包括策略信息,诸如图标1204、文本、距离和/或行驶时间。策略信息可显示在路线引导面板1202中,显示在通知中(下文所述),并且也可被发送至支持在其仪表组或平视显示器中显示策略信息的车辆。除了在路线引导面板1202中呈现即将到来的策略之外,导航应用程序120还可配置路线引导面板1206以呈现整个行程的行进估计(例如,到达时间、剩余的行驶时间、剩余的英里等)。例如,导航应用程序120可在用户遍历所选择的路线时连续更新行进估计。

图13示出了一种示例性导航警示模板1300。例如,导航警示模板1300可对应于模板覆盖层340。导航警示模板1200可对应于地图模板400。例如,导航警示模板1300可由导航应用程序120填充内容以生成导航警示gui供导航系统150显示。例如,导航应用程序120可响应于检测到用户可能感兴趣的路况(例如,事故、道路封闭、交通拥堵等)而使得导航警示gui由车辆ui生成器130生成并由车辆系统150呈现。

导航警示模板1300可包括覆盖在地图视图330上的导航警示面板1302。当导航应用程序120在后台运行时,高优先级警示可出现在由车辆系统150和/或车辆ui模块152呈现的处于活动态的应用程序上,如以下图14所示。导航应用程序120可配置导航警示面板1302以呈现标题(例如,“前方道路封闭”)和主要动作按钮1308(例如,“关闭”)。导航应用程序120可配置导航警示面板1302以呈现图像1305、副标题(例如,“i-280athwy92”)和次要动作按钮1306(例如,“重新规划路线”)。导航应用程序120可指定警示在被自动解除之前应可见的持续时间(例如,5秒、10秒等)。

图14示出了一种示例性导航横幅通知1400。例如,导航横幅通知1400可在导航应用程序120在作为后台进程运行时生成高优先级导航警示的情况下呈现。导航横幅通知1400可在导航应用程序120在作为后台进程运行时生成和/或更新路线策略的情况下呈现。虽然导航警报和/或一些策略可在一段时间(例如,5秒、7秒等)之后自动被解除,但对于相同策略的更新(例如,距离更新),导航横幅通知可保持显示在车辆系统150的显示器上,而不会在导航应用程序120更新内容时被自动解除。

导航横幅通知1400可在导航应用程序120提供指示应在车辆系统150上显示高优先级导航警示的信息时,由车辆ui生成器130生成并由车辆系统150呈现。导航横幅通知1400可在导航应用程序120提供指示应在车辆系统150上显示导航策略的信息时,由车辆ui生成器130生成并由车辆系统150呈现。车辆ui生成器130定义导航横幅通知1400的布局和外观(例如,配色方案),而导航应用程序120可配置由导航横幅通知1400呈现的内容。例如,导航应用程序120可提供表示导航应用程序120的图像1404、表示使得导航应用程序120呈现导航横幅通知的道路状况或策略的图像1406、描述道路状况或策略的文本1408,和/或用于致使车辆系统150和/或用户设备110使导航应用程序120成为前台应用程序或车辆系统150和/或用户设备110上的进程的图形元素1410。

图15示出了一种示例性语音控制模板1500。例如,语音控制模板1500可对应于模板覆盖层340。在一些具体实施中,语音控制模板1500可完全覆盖或遮挡绘制在基本层330上的地图。例如,语音控制模板1500可由导航应用程序120填充内容以指示或表示语音控制输入对于导航应用程序120处于活动态(例如,已被激活)。导航应用程序120可通过配置语音控制模板1500以在区域1510中呈现图像和/或文本来指示或表示语音控制输入对于导航应用程序120处于活动态。当用户调用用于导航应用程序120的语音控制输入(例如,通过选择按钮402、404、406或408)时,导航应用程序120可使得车辆ui生成器130基于语音控制模板1500来生成语音控制gui。导航应用程序120可配置按钮1502-1508以调用导航应用程序120的各种功能(例如,取消语音控制)。导航应用程序120可利用指示语音控制输入对于导航应用程序120处于活动态的图像或动画来配置区域1510。

图16示出了一种示例性操作表单警示模板1600。例如,操作表单警示模板1600可对应于模板覆盖层340。例如,操作表单警示模板1600可由导航应用程序120填充内容以生成用户操作警示gui供导航系统150显示。例如,当导航应用程序120需要来自用户的输入或指令时,导航应用程序120可使得用户操作警报gui由车辆ui生成器130生成并由车辆系统150呈现。

操作表单警示模板1600可例如包括与上述地图模板400类似的特征。然而,操作表单警示模板1600还可包括覆盖在地图视图330和/或地图模板400的地图控件上的操作警示面板1602。导航应用程序120可配置操作警示面板1602的内容。例如,导航应用程序120可提供描述用户需要操作的文本用以在区域1604中显示。导航应用程序120可配置至多两个按钮1606和/或1608以允许用户对操作警示进行响应。导航应用程序120可配置每个按钮1606和/或1608以在被用户选择时调用导航应用程序120的适当功能。

图17示出了一种示例性地图平移模板1700。例如,地图平移模板1700可对应于模板覆盖层340。路线引导模板1200可对应于地图模板400。例如,地图平移模板1700可由导航应用程序120填充内容以生成地图平移gui供导航系统150显示。例如,当导航应用程序120接收到选择由地图模板400所呈现的地图控件410、412和/或414中的一者的用户输入时,导航应用程序120可使得地图平移gui由车辆ui生成器130生成并由车辆系统150呈现。

在一些具体实施中,地图平移模板1700可包括方向控件1710(例如,向上)、1714(例如,向右)、1716(例如,向下)和/或1718(例如,向左),当被用户选择时,这些方向控件使得地图应用程序120平移由基本视图330呈现的地图。例如,用户可向触敏显示器的对应于一个或多个方向控件1710、1714、1716和/或1718的区域提供触摸输入,以使得导航应用程序120平移或滚动车辆系统150所呈现的地图。用户可操控车辆系统150的物理控件来向一个或多个方向控件1710、1714、1716和/或1718提供输入,以使得导航应用程序120平移或滚动车辆系统150所呈现的地图。用户可在不使用方向控件1710、1714、1716和/或1718的情况下操控车辆系统150的物理控件来提供输入,以使得导航应用程序120平移或滚动车辆系统150所呈现的地图。例如,如果车辆系统150具有旋转输入控制器,则向上/向下/向左/向右轻推控制器(例如,类似于操纵杆)的用户输入将作为平移事件通过车辆ui生成器130发送到导航应用程序120,以使得导航应用程序120平移或滚动由车辆系统150呈现的地图。例如,地图应用程序120可通过向车辆ui生成器130提供与用户已平移或滚动到的地图区域对应的新的、不同的或附加的地图视图来平移、移动或滚动地图以呈现在基本视图330上。

在一些具体实施中,地图平移模板1700可包括按钮1702、1704、1706和/或1708。例如,导航应用程序120可配置按钮1702-1708以调用导航应用程序120的各种功能(例如,取消平移控制、目的地搜索、目的地浏览等)。

示例过程

为了使读者能够清楚地理解本文所述的技术概念,以下过程描述了以特定顺序执行的具体步骤。然而,特定过程的一个或多个步骤可以被重新安排和/或省略,同时保持在本文公开的技术的预期范围内。此外,可以组合、重新组合、重新安排、省略和/或并行执行不同的过程和/或其步骤,以创建也在本文公开的技术的预期范围内的不同处理流程。此外,尽管为了清楚起见,下面的过程可以省略或简要概述本文中公开的技术的一些细节,但是以上段落中描述的细节可以与下面描述的过程步骤组合以获得对这些过程和本文所公开的技术的更完整和全面的理解。

图18是用于生成用于第三方应用程序的导航用户界面的示例性过程1800的流程图。例如,过程1800可由用户设备110执行以生成用于第三方导航应用程序的图形用户界面,如上所述。过程1800可通过用户设备110的操作系统、由用户设备110提供的应用程序框架、由用户设备110提供的软件库,或配置在用户设备110上的其他第一方软件模块来执行。

在步骤1802处,用户设备110可从导航应用程序120接收模板标识符。例如,车辆ui生成器130可从导航应用程序120接收模板标识符。例如,导航应用程序120可为安装和/或运行在用户设备110上的第三方导航应用程序。导航应用程序120可包括用于确定在不同时间并且响应于在其操作期间的不同输入应呈现哪些图形用户界面的指令和/或逻辑。导航应用程序120可基于导航应用程序120的当前操作环境和呈现适合当前操作环境的特征所必需的图形用户界面来确定或选择适当的导航gui模板。导航应用程序120可确定与所选择的导航gui模板相关联的模板标识符(例如,或api)。导航应用程序120可在请求中将模板标识符发送至车辆ui生成器130,以生成用于导航应用程序120的导航gui用以显示在车辆系统150上。

在步骤1804处,用户设备110可从导航应用程序120接收地图视图。例如,车辆ui生成器130可从导航应用程序120接收一个或多个地图视图(例如,地图图像、栅格图块、栅格图像等)。导航应用程序120可生成或获得将地图特征(例如,道路、建筑物、拓扑结构等)呈现给地理区域的地图视图。导航应用程序120可生成或获得包括目的地和/或导航路线的图形表示的地图视图。导航应用程序120可在请求中将地图视图发送至车辆ui生成器130,以生成用于导航应用程序120的导航gui用以显示在车辆系统150上。

在步骤1806处,用户设备110可从导航应用程序120接收模板数据。例如,车辆ui生成器130可接收模板数据,该模板数据定义用于来自导航应用程序120的所识别的模板的内容和控制交互(例如,在选择按钮或其他元素时需调用的功能)。导航应用程序120可包括用于确定在不同时间并且响应于在其操作期间的不同输入应呈现哪些图形用户界面的指令和/或逻辑。导航应用程序120可基于导航应用程序120的当前操作环境和呈现适合当前操作环境的特征所必需的图形用户界面来确定要向车辆ui生成器130发送的内容和/或控制元素。导航应用程序120可在请求中将模板数据发送至车辆ui生成器130,以生成用于导航应用程序120的导航gui用以显示在车辆系统150上。

在步骤1808处,用户设备110可获得对应于车辆系统150的车辆系统属性。例如,车辆ui生成器130可直接从车辆系统150或从用户设备110上的本地存储器获得车辆系统属性(例如,规格、功能等)。例如,当用户设备110初始地连接到车辆系统150时,车辆ui生成器130可从车辆系统150获得描述车辆系统属性的信息,并且将描述车辆系统属性的信息本地存储在用户设备110上。因此,当车辆ui生成器130生成后续gui时,车辆ui生成器130可从本地存储器获取车辆属性信息而不是从车辆系统150请求信息。

在步骤1810处,用户设备110可基于所识别的模板、地图视图、模板数据和/或车辆系统属性生成导航图形用户界面用以呈现在车辆系统150上。例如,车辆ui生成器130可获得与从导航应用程序120接收的模板标识符相对应的gui模板。车辆ui生成器130可使用从导航应用程序120接收的模板数据填充gui模板以生成模板覆盖层340。车辆ui生成器130可基于从导航应用程序120接收的地图视图来生成基本视图层330。车辆ui生成器130可通过将模板覆盖层340与基本视图层330和系统ui层310相结合来生成导航图形用户界面,如上文参考图3所述。车辆ui生成器130可根据车辆系统属性来调节所生成的导航gui。例如,车辆ui生成器130可基于车辆系统属性来调节配色方案、尺寸、控制界面和/或所生成的导航gui的其他属性,以便优化所生成的导航gui用以由车辆系统150呈现。

在步骤1812处,用户设备110可使车辆系统150将所生成的导航gui呈现在车辆系统150的显示器上。例如,车辆ui生成器可通过向车辆系统150发送导航gui来使车辆系统150呈现所生成的导航gui。车辆系统150可响应于接收到导航gui而在车辆系统150的显示器上呈现所生成的导航gui。车辆ui生成器130可通过用户设备110和车辆系统150之间的有线或无线连接将所生成的导航gui发送至车辆系统150。

图19是用于处理针对第三方应用程序而生成的导航用户界面的用户输入的示例性过程1900的流程图。例如,过程1900可由用户设备110执行,以处理对由第三方导航应用程序生成并且呈现在车辆系统150上的图形用户界面的用户输入,如上所述。过程1800可通过用户设备110的操作系统、由用户设备110提供的应用程序框架、由用户设备110提供的软件库,或配置在用户设备110上的其他第一方软件模块来执行。

在步骤1902处,用户设备110可从车辆系统150接收输入数据。例如,当用户选择在由车辆ui生成器130生成并呈现在车辆系统150上的导航gui上呈现的图形元素(例如,按钮、列表项、方向控件或其他可选图形元素)时,车辆系统150可将输入数据发送至描述所接收的用户输入的车辆ui生成器130。例如,输入数据可指示所选择的图形元素的标识符。输入数据可指示导航gui上接收到用户输入的位置。

在步骤1904处,用户设备可将输入数据发送至导航应用程序102。例如,当车辆ui生成器130接收到来自车辆系统150的输入数据时,车辆ui生成器130可确定要发送至导航应用程序102的适当消息和/或要调用的导航应用程序102的适当api。例如,当导航应用程序102向车辆ui生成器130发送请求以生成用于显示在车辆系统150上的导航gui时,导航应用程序120可指定或注册用于车辆ui生成器130的api、输入处理程序功能或其他类型的回调例程以调用呈现在所生成的导航gui上的每个可选图形元素(例如,按钮、列表项、方向控件等)。当车辆ui生成器130接收到指示用户已选择导航gui上的图形元素的用户输入数据时,车辆ui生成器130可调用与所选择的图形元素相关联的导航应用程序120的回调例程、功能或api。在一些具体实施中,车辆ui生成器130可将输入数据作为参数发送至回调例程。在一些具体实施中,车辆ui生成器130可将输入数据以消息的形式发送至导航应用程序102。例如,消息可指示车辆系统150的用户选择了哪个图形元素。

在步骤1906处,用户设备110可执行过程1800以基于输入数据生成新的gui。例如,导航应用程序102可处理输入数据并基于所接收的输入数据来确定要在车辆系统150上呈现的新图形用户界面。导航应用程序102继而可将模板标识符、地图视图和/或模板数据发送至车辆ui生成器130,使得车辆ui生成器130可响应于所接收的输入数据生成新的导航gui以供车辆系统150来呈现。

图形用户界面

本公开在上文描述了用于实现各种特征、过程或工作流的各种图形用户界面(gui)。这些gui可被呈现在各种电子设备上,包括但不限于膝上型计算机、台式计算机、计算机终端、电视系统、平板电脑、电子书阅读器和智能电话。这些电子设备中的一者或多者可包括触敏表面。触敏表面可处理多个同时的输入点,包括处理与每个输入点的压力、程度或位置相关的数据。此类处理可促进利用多个手指所进行的手势,该手势包括捏合和轻扫。

当本公开指“选择”gui中的用户界面元素时,这些术语被理解为包括在用户界面元素上方利用鼠标或其他输入设备来点击或“悬停”,或利用一个或多个手指或触笔来在用户界面元素上触摸、轻敲或做手势。用户界面元素可以是虚拟按钮、菜单、选择器、开关、滑动条、刷子、旋钮、缩略图、链接、图标、单选框、复选框和用于从用户接收输入或向用户提供反馈的任何其他机构。

隐私

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,该个人信息数据可用于递送用户较感兴趣的目标内容。因此,使用此类个人信息数据使得能够对所递送的内容进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。

本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和做法。

不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

示例系统架构

图20是可实现图1-19的特征和过程的示例性计算设备2000的框图。计算设备2000可包括存储器接口2002、一个或多个数据处理器、图像处理器和/或中央处理单元2004以及外围设备接口2006。存储器接口2002、一个或多个处理器2004和/或外围设备接口2006可以是独立部件,或者可集成到一个或多个集成电路中。计算设备2000中的各种部件可由一条或多条通信总线或信号线耦接。

传感器、设备和子系统可耦接到外围设备接口2006以促成多个功能。例如,运动传感器2010、光传感器2012和接近传感器2014可耦接到外围设备接口2006以促进取向、照明和接近功能。其他传感器2016也可连接到外围设备接口2006,诸如全球导航卫星系统(gnss)(例如,gps接收器)、温度传感器、生物识别传感器、磁力仪或其他感测设备,以促进相关功能。

可利用相机子系统2020和光学传感器2022(如电荷耦合设备(ccd)或互补金属氧化物半导体(cmos)光学传感器)来促进相机功能,例如拍摄照片和视频剪辑。相机子系统2020和光学传感器2022可用于收集要在认证用户期间使用的用户的图像,例如,通过执行面部识别分析。

可通过一个或多个无线通信子系统2024来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。通信子系统2024的具体设计与实现可取决于计算设备2000旨在通过其操作的一个或多个通信网络。例如,计算设备2000可包括设计用于通过gsm网络、gprs网络、edge网络、wi-fi或wimax网络以及bluetoothtm网络操作的通信子系统2024。具体地讲,无线通信子系统2024可包括主机协议,使得设备100可被配置为其他无线设备的基站。

音频子系统2026可耦接到扬声器2028和麦克风2030以促进支持语音的功能,诸如讲话者识别、语音复制、数字记录和电话功能。音频子系统2026可被配置为促进例如处理语音命令、声纹鉴别和语音认证。

i/o子系统2040可包括触摸表面控制器2042和/或一个或多个其他输入控制器2044。触摸表面控制器2042可耦接到触摸表面2046。触摸表面2046和触摸表面控制器2042可例如使用多种触敏技术的任何一种检测接触和运动或其中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面2046接触的一个或多个点的其他接近传感器阵列或其他元件。

一个或多个其他输入控制器2044可耦接到其他输入/控制设备2048,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口和/或指针设备(诸如触笔)。一个或多个按钮(未示出)可包括用于扬声器2028和/或麦克风2030的音量控制的增大/减小按钮。

在一种具体实施中,将按钮按下第一持续时间能够解除触摸表面2046的锁定;并且将按钮按下比第一持续时间长的第二持续时间能够打开或关闭计算设备2000的电源。将按钮按下第三持续时间能够激活语音控制或语音命令、使用户能够向麦克风2030中说出命令的模块,以使得设备执行所说的命令。用户能够自定义一个或多个按钮的功能。例如,还可以使用触摸表面2046实现虚拟或软按钮和/或键盘。

在一些具体实施中,计算设备2000可呈现记录的音频和/或视频文件,诸如mp3、aac和mpeg文件。在一些具体实施中,计算设备2000可包括mp3播放器的功能,诸如ipodtm

存储器接口2002可耦接到存储器2050。存储器2050可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,nand、nor)。存储器2050可存储操作系统2052,诸如darwin、rtxc、linux、unix、osx、windows或嵌入式操作系统(诸如vxworks)。

操作系统2052可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统2052可以是内核(例如,unix内核)。在一些具体实施中,操作系统2052可包括用于执行语音认证的指令。例如,操作系统2052可实现第三方导航gui生成特征,如参考图1-图19所述。

存储器2050还可存储通信指令2054以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。存储器2050可包括促进图形用户界面处理的图形用户界面指令2056;促进与传感器相关的处理及功能的传感器处理指令2058;促进与电话相关的过程和功能的电话指令2060;促进与电子消息处理相关的过程和功能的电子消息指令2062;促进与网页浏览相关的过程和功能的网页浏览指令2064;促进与媒体处理相关的过程和功能的媒体处理指令2066;促进与gnss和导航相关的过程和指令的gnss/导航指令2068;和/或促进与像机相关的过程和功能的相机指令2070。

存储器2050可存储其他软件指令2072以促进其他过程和功能,诸如参考图1-19所述的第三方导航gui生成过程和功能。

存储器2050还可存储其他软件指令2074,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令2066分为音频处理指令和视频处理指令,分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。

上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立的软件程序、进程或模块来实现。存储器2050可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中实现计算设备2000的各种功能。

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