基于频率的通行行程表征
文献发布时间:2023-06-19 11:37:30
本申请是申请日为2016年6月3日的、名称为“基于频率的通行行程表征”的发明专利申请No.201680033389.7的分案申请。
技术领域
本公开涉及基于频率的通行行程表征。
背景技术
随着移动设备诸如智能电话的普及,用户可以享受到能够在他们的设备上运行的众多种类的大量应用程序。这种应用程序的一种流行的类型是地图绘制和导航应用程序,其允许用户浏览地图并接收路线指导。尽管这些地图绘制和导航应用程序很受欢迎,但它们还没有提供全面而高效的通行路由和导航系统。
发明内容
本发明的一些实施方案提供地图应用程序,该地图应用程序提供用于通过浏览和选择通行路线并且导航所选择的通行路线来规划通行行程的全面而高效的通行导航形态。一些实施方案的地图应用程序在地图浏览模式下操作以允许用户浏览地区的地图并且基于地址、名称(例如,人、企业等)或其他搜索参数来执行对地图位置的搜索。一些此类实施方案的地图应用程序还具有导航模式,该导航模式包括用于提供驾车导航方向的驾车导航模式、用于提供步行导航方向的步行导航模式、用于提供通行导航方向的通行导航模式。
一些实施方案的地图应用程序在接收到用于以通行模式显示路线的请求时,在两个位置之间识别一条或多条通行路线并且向用户显示所识别的路线之中的最佳可能的通行路线。具体地讲,为了识别通行路线,一些实施方案的应用程序检查一个或多个通行系统的一种或多种通行交通工具从指定的起始位置附近的位置(例如,设备的当前位置)行驶到指定的目的地附近的位置的不同通行路段。在一些实施方案中,通行路线的每条通行路段包括由通行线路的通行交通工具行驶的通行路线的区段。通行路段也可包括超过阈值距离的步行距离。
在检查通行路段中,一些实施方案的应用程序考虑由用户自定义(即,设定或调整)的一组通行偏好。例如,在一些实施方案中,用户可将(从例如用户的当前位置)出发的日期和时间调整为特定日期和时间而不是当前时间。相反地,用户可能优于其他类型而偏好特定类型的通行交通工具(即,特定通行系统的通行交通工具)。例如,针对通行路线的特定通行路段,用户可能优于公共汽车而宁愿乘坐地铁列车,或者针对整个通行路线(例如,不具有任何渡轮行程的通行路线),仅使用地面交通。
在一些实施方案中,基于对通行路段的检查,地图应用程序识别使用一个或多个通行系统的一种或多种通行交通工具的一条或多条通行路线。所识别的通行路线还可包括不同通行路段之间、起始位置和第一通行路段之间以及最后的通行路段和目的地位置之间的一条或多条步行路线。在识别通行路线之后,地图应用程序基于一组准则(例如,最快路线、最短路线、步行量最少路线、需要更换通行交通工具量最少的路线、需要更换交通系统量最少的路线等)来选择所识别的通行路线中的一条路线。在一些实施方案中,选择准则组依赖于两个或更多个选择参数。而且,在一些实施方案中,选择准则组在不同的通行市场中和/或在同一通行市场中的不同时间段中是不同的。
一些实施方案的地图应用程序在地理区域的地图呈现的一部分上整体地显示最佳识别路线。一些此类实施方案的应用程序将所识别的路线显示在多个区段(通行路段)中,其中每个区段由特定通行线路的通行交通工具行驶。地图应用程序针对由不同类型的通行交通工具行驶或者需要步行的已显示通行路线的不同部分使用不同的图形表示。
在一些实施方案中,由不同的图形表示呈现的不同类型的通行交通工具包括公共汽车、地铁列车、轨道列车(例如,轻轨列车和重轨列车)以及渡轮。在一些实施方案中,这四个类别中的每个类别可包括多个不同的子类别,并且在一些实施方案中可存在另外的通行类别(例如,缆车索道、有轨电车等)。当所选择的通行路线包括同一类型(同一通行系统)的多个通行交通工具时,同一通行系统的每个通行交通工具与其他通行交通工具通过通行交通工具的不同线路来区分。
一些实施方案将通行路线的不同通行线路分类为高频率通行线路和低频率通行线路两种类别。在一些此类实施方案中,第一通行线路(例如,第一公共汽车线路)可在特定通行站点被分类为低频率通行线路,而不同的第二通行线路(例如,第二公共汽车线路)可在特定通行站点被分类为高频率通行线路。相反地,在一些实施方案中,在第一时间段内(例如,在一周中的偶数天、在早上、在两个特定小时之间等),通行线路可在特定通行站点被分类为高频率通行线路,而同一通行线路在相同的特定站点但是在不同的第二时间段内(例如,在一周中的奇数天、在晚上、在两个特定小时之间等)可被分类为低频率通行线路。
一些实施方案的地图应用程序对待高频率通行线路不同于低频率通行线路。例如,应用程序以第一方式呈现高频率通行交通工具的出发时间,而其以不同的第二方式在应用程序的UI的不同显示区域呈现低频率通行交通工具的出发时间。另外,一些实施方案的应用程序将高频率通行线路归类为不同的级别,并且不同地呈现每个级别的出发频率。在一些实施方案中,通过在一个或多个专用服务器上运行的地图绘制服务来完成将通行线路表征为高频率通行线路和低频率通行线路并且计算特定通行线路的出发频率。
为了确定在特定时间段内从通行站点出发的通行线路的频率,一些实施方案的地图绘制服务首先确定线路的通行交通工具是否在一定时间段内平均至少一次(例如,至少2小时每30分钟一次)从通行站点出发。该一定时间段在不同区域或针对相同或不同的通行系统的不同通行线路可以是不同的。当一些此类实施方案的地图绘制服务确定通行线路的交通工具在一定时间段内出发至少一次时,服务将线路的通行交通工具分类为高频率通行交通工具。然后,地图绘制服务计算高频率通行线路的出发频率。
为了计算频率,一些实施方案的地图绘制服务首先识别在特定时间段内从同一通行站点前往同一方向的线路的通行交通工具的每对出发之间的时间间隔。然后,该服务将一系列数学函数和公式应用于所识别的数字(即,出发时间之间的间隙的序列),以便计算路线的出发频率。在一些实施方案中,计算的出发频率可以是表示出发的确切频率的值(数字)(例如,每5分钟)、表示出发频率的近似值的数字(例如,约每5分钟),或数字范围(例如,每5至8分钟)。一些实施方案首先确定是否可使用确切的频率,然后确定(如果未发现确切的频率)是否可使用一组频率范围中的一个频率,并且仅在前两个选项不成功时尝试查找近似的频率值。
针对高频率通行线路,一些实施方案的地图应用程序以频率格式显示线路的出发时间。也就是说,应用程序显示线路的通行交通工具从通行站点出发的频率(例如,每5分钟、每5至10分钟等)。然而,针对低频率通行线路,一些此类实施方案的地图应用程序以绝对时间格式显示出发时间。也就是说,地图应用程序显示线路的通行交通工具离开站点的时间(例如,下午2:30、下午3:30)。在一些实施方案中,应用程序仅显示高频率线路的一个出发频率(例如,在地点卡中的行程标题下),而其显示低频率线路接下来的通行交通工具的多个出发时间(例如,在列车线路的行程标题下的该线路的接下来三个出发时间)。一些实施方案还提供所选择的通行路线的总体通行频率。也就是说,一些此类实施方案不仅提供由高频率通行线路服务的路线的每条通行路段的通行频率,而且提供路线的通行路段的总和的通行频率。
另外,一些实施方案的地图应用程序可智能地引导用户基于用户的位置来规划通行行程。一些此类实施方案的地图应用程序首先识别应用程序在其上运行的设备的位置。然后,应用程序评估设备与第一通行站点之间的距离,用户在该第一通行站点处登上第一通行交通工具。当应用程序认识到用户离通行站点远(例如,比阈值距离远)时,应用程序显示用户应开始通行行程(即,用户应离开当前位置朝向第一通行站点)的最晚时间。另一方面,当用户在通行站点处或在其附近(例如,比阈值距离近)时,应用程序显示线路的第一通行交通工具离开通行站点的时间。
上述发明内容旨在用作对本发明的一些实施方案的简单介绍。其并非意味着对在本文档中公开的所有发明主题的介绍或概述。随后的具体实施方式以及在具体实施方式中所参照的附图将进一步描述发明内容中所述的实施方案以及其他实施方案。因此,为了理解该文档所描述的所有实施方案,需要全面审阅发明内容、具体实施方式和附图。此外,受权利要求书保护的题材不被发明内容、具体实施方式及附图中的示例性细节所限定,而是被所附权利要求所限定,这是因为受权利要求书保护的题材在不脱离本题材的实质的情况下能够以其它特定形式而体现。
附图说明
本发明的新颖特征在所附权利要求书中阐述。然而,出于说明的目的,在以下附图中阐释了本发明的若干实施方案。
图1示出了可如何选择地图应用程序的通行导航模式。
图2概念性地示出了一些实施方案执行以提供通行线路的出发时间表的过程。
图3依据三个不同的实施例示出了显示地铁列车从地铁站点的出发时间表的一些实施方案的地图应用程序的UI。
图4依据两个不同的实施例示出了显示列车(例如,轻轨列车)从列车站点的出发时间表的一些实施方案的地图应用程序的UI。
图5示出了用户可如何访问和查看提供与通行站点相关的通行时间表的通行站点地点卡。
图6示出了提供从通行枢纽出发的不同类型的通行交通工具和通行线路的通行时间表的通行枢纽地点卡的实施例。
图7概念性地示出了一些实施方案执行以确定如何表达(呈现)高频率通行线路的出发时间表的过程。
图8提供了用于计算作为特定站点处的通行线路的出发时间表的出发范围的实施例。
图9概念性地示出了一些实施方案用于确定应以哪种格式显示在一天中的特定时间离开特定通行站点的特定通行线路的出发频率的频率发生器模块。
图10概念性地示出了一些实施方案执行以计算所选择的通行路线的总体通行频率的过程。
图11提供了用于计算包括从设备的当前位置的出发时间的出发序列(即,窗口组)的实施例。
图12示出了一些实施方案的移动计算设备的架构的实施例。
图13概念性地示出了实现本发明的一些实施方案所利用的电子系统的另一个实施例。
图14示出了用于地图服务(也称为地图绘制服务)和客户端设备的操作环境的一个可能实施方案。
具体实施方式
在本发明的以下具体实施方式中,提出并描述了本发明的许多细节、示例和实施方案。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于所陈述的实施方案,并且本发明可在没有使用所讨论的一些具体细节和示例的情况下被实施。
本发明的一些实施方案提供地图应用程序,该地图应用程序提供用于通过浏览和选择通行路线并且导航所选择的通行路线来规划通行行程的全面而高效的通行导航形态。一些实施方案的地图应用程序在地图浏览模式下操作以允许用户浏览地区的地图并且基于地址、名称(例如,人、企业等)或其他搜索参数来执行对地图位置的搜索。一些此类实施方案的地图应用程序还具有导航模式,该导航模式包括用于提供驾车导航方向的驾车导航模式、用于提供步行导航方向的步行导航模式、用于提供通行导航方向的通行导航模式。
一些实施方案的地图应用程序在接收到用于以通行模式显示路线的请求时,在两个位置之间识别一条或多条通行路线并且向用户显示所识别的路线之中的最佳可能的通行路线。具体地讲,为了识别通行路线,一些实施方案的应用程序检查一个或多个通行系统的一种或多种通行交通工具从指定的起始位置附近的位置(例如,设备的当前位置)行驶到指定的目的地附近的位置的不同通行路段。在一些实施方案中,通行路线的每条通行路段包括由通行线路的通行交通工具行驶的通行路线的区段。通行路段也可包括超过阈值距离的步行距离。
在检查通行路段中,一些实施方案的应用程序考虑由用户自定义(即,设定或调整)的一组通行偏好。例如,在一些实施方案中,用户可将(从例如用户的当前位置)出发的日期和时间调整为特定日期和时间而不是当前时间。相反地,用户可能优于其他类型而偏好特定类型的通行交通工具(即,特定通行系统的通行交通工具)。例如,针对通行路线的特定通行路段,用户可能优于公共汽车而宁愿乘坐地铁列车,或者针对整个通行路线(例如,不具有任何渡轮行程的通行路线),仅使用地面交通。
在一些实施方案中,基于对通行路段的检查,地图应用程序识别使用一个或多个通行系统的一种或多种通行交通工具的一条或多条通行路线。所识别的路线还可包括不同通行行程之间、起始位置和第一通行行程之间以及最后的通行行程和目的地位置之间的一条或多条步行路线。在识别通行路线之后,地图应用程序基于一组准则(例如,最快路线、最短路线、步行量最少路线、需要更换通行交通工具量最少的路线、需要更换交通系统量最少的路线等)来选择所识别的通行路线中的一条路线,并且在地图呈现上显示该所选择的路线。在一些实施方案中,选择准则组依赖于两个或更多个选择参数。而且,在一些实施方案中,选择准则组在不同的通行市场中和/或在同一通行市场中的不同时间段中是不同的。
一些实施方案的地图应用程序在地理区域的地图呈现的一部分上整体地显示最佳识别路线。一些此类实施方案的应用程序将所识别的路线显示在多个区段(通行路段)中,其中每个区段由特定通行交通工具行驶。地图应用程序针对由不同类型的通行交通工具行驶或者需要步行的已显示通行路线的不同部分使用不同的图形表示。在一些实施方案中,由不同的图形表示呈现的不同类型的通行交通工具包括公共汽车、地铁列车、轨道列车(例如,轻轨列车和重轨列车)以及渡轮。在一些实施方案中,这四个类别中的每个类别可包括多个不同的子类别。当所选择的通行路线包括同一类型(同一通行系统)的多个通行交通工具时,同一通行系统的每个通行交通工具与其他通行交通工具通过通行交通工具的不同线路(例如,不同的地铁线路、不同的公共汽车线路等)来区分。
下文描述了本发明的若干详细的实施方案。部分I描述了一些实施方案的地图应用程序的通行导航模式。部分II描述了对基于出发频率的通行线路的表征。部分III跟着是对用于计算出发频率的方法的描述。部分IV描述了实现本发明的一些实施方案所利用的示例性电子系统。最后,部分V描述了地图服务操作环境。
I.通行导航模式
图1示出了提供本发明的一些实施方案的通行导航呈现的地图应用程序。在一些实施方案中,地图应用程序在具有触敏显示器屏幕的移动设备(例如,智能电话、平板电脑、膝上型电脑等)上执行。但是,下文讨论的地图应用程序的所有特征和概念可等同地适用于具有非触敏显示器屏幕的其他设备。地图应用程序可在地图浏览模式下操作以允许用户浏览地区的地图并且基于地址、名称(例如,人、企业等)或其他搜索参数来执行对地图位置的搜索。该应用程序还具有导航模式,该导航模式包括用于提供驾车导航方向的驾车导航模式、用于提供步行导航方向的步行导航模式、和用于提供通行导航方向的通行导航模式。
图1在地图应用程序的用户界面(UI)100的四个操作阶段105-120中示出了可如何通过请求从用户的当前位置到搜索的目的地的路线来选择地图应用程序的通行导航模式。然后,应用程序显示由用户的当前位置和搜索的目的地之间的两种不同的通行交通工具(两种不同类型的通行交通工具)的组合行驶的路线。一些实施方案向用户提供搜索框来搜索特定位置。然后,用户可在搜索框中输入特定地点的地址或者另选地地点的名称。当指定了地点的地址(或名称)时,一些实施方案的地图应用程序在地图的呈现上提供指示符(例如,图钉),以在地图呈现上显示地点的确切位置。另外,一些此类实施方案显示具有可选控件的横幅(例如,在图钉上方)以提供有关该地点的更多信息。
图1的第一阶段105示出了搜索框125、显示地理区域的地图的地图呈现区域130、图钉135和横幅140。横幅140包括可选路线控件145(其被描绘为汽车的呈现)、搜索的地点的名称150以及可选控件155(其被描绘为右箭头)。在搜索框125中,用户可输入搜索参数以搜索特定位置以显示在地图呈现区域130中。在一些实施方案中,搜索参数可以是实体(例如,企业、组织、人等)的地址或名称,或一些其他参数。当地图应用程序可识别其接收的搜索参数的一个或多个位置时,一些实施方案中的地图应用程序(1)将显示一些或全部所识别位置的地图显示在呈现区域130中,并且(2)针对每个已显示的位置显示图钉135或其他位置指示符以识别所识别位置的位置。而且,在一些实施方案中,地图应用程序在图钉135中的一个图钉上方显示横幅140,以提供对有关由图钉识别的位置的更多信息的访问。横幅还提供有关所识别位置的一些信息。
该图的第一阶段105示出了用户已在搜索框125中输入了地址(A街123号)。因此,应用程序在地图呈现区域130中显示所输入的地址位于其中的特定地理区域的地图。该阶段还示出了应用程序在地图呈现上方进一步显示(1)图钉135(以在地图上识别所输入的地址的位置)和(2)图钉上方的横幅140。如图所示,该横幅包括地址“A街123号”、路线控件145和可选控件155,当被选择时该可选控件使得地图应用程序呈现提供有关所识别位置的更多信息的显示区域(例如,地点卡)。
第二阶段110示出了用户选择可选路线控件145(例如,通过在设备的触敏显示器屏幕上执行手势输入,诸如在控件145上轻敲用户的手指)。对路线控件145的选择使得应用程序在呈现在地图呈现区域130中的地图上方显示从用户的当前位置到搜索的位置(即,到图钉135)的路线概览(例如,驾车路线)。在一些实施方案中,路线控件145还用于发起导航体验。例如,在接收到对路线控件的选择时,一些实施方案的地图应用程序提供从设备的当前位置到图钉的位置的一条或多条路线。当选择了路线时,取决于用户的下一个选择,地图应用程序可以导航模式或路线巡视模式开始操作。
第三阶段115示出了已显示的路线175铺置于区域地图上。第三阶段115还示出了三个导航模式控件,所述三个导航模式控件是驾车模式控件178、步行模式控件180和通行模式控件182。通过这些控件,用户可指导地图应用程序提供从指定的起始位置(即,在该实施例中为设备的当前位置)到指定的目的地(即,在该实施例中为到A街123号)的一条或多条驾车路线、步行路线和通行路线。第三阶段115示出了突出显示的驾车模式控件178以指示应用程序最初提供的路线175是驾车路线。在一些实施方案中,地图应用程序基于到目的地的距离、设备当前操作的地区以及检测到的设备的当前交通模式(如果有的话)动态地确定是否提供初始驾车、步行或通行路线。
一些实施方案的地图应用程序基于其通过设备的不同传感器接收到的一组运动数据和在不同的检测到的条件下指定默认导航模式的一组规则来对默认导航模式进行动态确定。例如,应用程序根据设备的一些检测传感器收集的运动数据来检测当前用户活动(例如,驾车、步行、骑单车等),并基于所确定的活动自动将默认导航模式设定为步行模式或驾车模式。例如,如果应用程序基于其从运动传感器接收到的运动数据确定设备的用户在交通工具中,则应用程序将默认导航模式设定为驾车模式(如该实施例所示)。
在一些实施方案中,地图应用程序使用其通过运动传感器接收的运动数据和到期望目的地的距离的组合,以便确定哪种导航模式应是默认模式。例如,在一些实施方案中,当目的地位置距用户的当前位置不在阈值距离(例如,两英里)内时,即使运动数据指示用户正在步行,应用程序也不将默认模式设定为步行模式。相反地,当目的地位置距用户的当前位置在阈值距离(例如,0.5英里)内并且运动数据指示用户没有驾车时,一些实施方案的应用程序不将默认模式设定为驾车模式。
第三阶段还示出了对于已显示的路线,地图应用程序在显示区域183中提供有关该路线的信息。例如,在驾车模式中,显示区域183显示从设备的当前位置到目的地的驾车距离和持续时间。第三阶段还示出了路线概览呈现包括用于基于当前选择的导航模式(例如,驾车模式、步行模式或通行模式)来启动到目的地的逐向导航体验的启动控件184。例如,当地图应用程序正以通行模式显示通行路线概览呈现时,对启动控件184的选择指导地图应用程序启动提供从设备的当前位置到目的地的通行导航方向的通行导航呈现。在以代理人案卷号APLE.P0653同时提交的标题为“Transit Navigation”的美国专利申请14/869,570中详细地描述了导航通行路线,该专利申请以引用方式并入本文中。
第三阶段示出了用户选择通行控件182(例如,通过轻击选项卡182)以将应用程序的导航模式从驾车导航模式改变为通行导航模式。在接收到该请求时,一些实施方案的地图应用程序识别到指定目的地的一条或多条通行路线,基于一组准则选择所识别的通行路线中的一条路线作为最佳可能的通行路线,并且显示所选通行路线189,如第四阶段120所示。
一些实施方案的地图应用程序在接收到用于以通行模式显示路线的请求时,识别两个位置之间的若干不同路线之中的最佳可能的通行路线并向用户显示该路线。具体地讲,为了识别通行路线,一些实施方案的应用程序检查一个或多个通行系统的一种或多种通行交通工具从指定的起始位置附近的位置(例如,设备的当前位置)到指定的目的地附近的位置进行的行程。在一些实施方案中,基于该检查,应用程序识别使用一个或多个通行系统的一种或多种通行交通工具的一条或多条通行路线。
在识别通行路线之后,地图应用程序然后基于一组准则(例如,最快路线、最短路线、步行量最少路线、需要更换通行交通工具量最少的路线、需要更换交通系统量最少的路线等)来选择所识别的通行路线中的一条路线,并且在呈现区域130中的地图呈现上显示该所识别的路线。在一些实施方案中,选择准则组依赖于两个或更多个选择参数。而且,在一些实施方案中,选择准则组在不同的通行市场中和/或在同一通行市场中的不同时间段中是不同的。
尽管在上文和下文的描述中,地图应用程序被识别为行动诸如对通行路线的识别和排序的执行者,但是在一些实施方案中,这些行动中的一些或全部由地图绘制服务执行,该地图绘制服务然后向地图应用程序提供结果。例如,在一些实施方案中,通过在一个或多个专用服务器上运行的地图绘制服务来完成对不同的通行路线的识别以及对所识别的通行路线之中的最佳可能的路线的选择。
一些实施方案的地图绘制服务是向地图应用程序提供其他地图浏览和导航数据(例如,路由数据、交通数据、地图图块等)的同一地图绘制服务。在一些其他实施方案中,地图绘制服务是用于向地图应用程序提供通行数据的指定服务。一些实施方案的地图绘制服务接收对包括起始位置和目的地位置的通行路线的请求。然后,该服务基于用户偏好识别一组可用的通行路线,基于一组准则对所识别的通行路线进行排序,并且将已排序的所识别的通行路线返回到地图应用程序。然后,地图应用程序以通行导航模式向用户显示最高排序的通行路线作为所选择的通行路线。
在一些实施方案中,应用程序基于标准组和一些其他因素对所识别的路线进行排序。例如,应用程序最初利用具有最高排序的最短通行路线对所识别的路线进行排序。然后,应用程序(例如,从一组专用服务器、从采集来自不同源的事件数据的指定事件管理器等)请求并接收所识别的路线的实时事件(例如,交通)数据。基于所接收的数据,一些实施方案的应用程序重新排列路线并且对其进行第二次排序。然后,应用程序在路线呈现区域中显示最高排序(次级排序)的通行路线。在一些实施方案中,如上文所讨论的,地图绘制服务识别通行路线并对其进行排序。在一些此类实施方案中,地图绘制服务从专用服务器请求实时事件数据以便对通行路线进行排序。在一些实施方案中,地图绘制服务直接(例如,通过地图绘制服务的事件管理器模块)采集和维护事件数据。
第四阶段120示出了由于选择通行导航模式作为应用程序的操作模式,先前阶段115中的路线175现在被通行路线189替换。该实施例中的优选准则是步行量最少,因此图中所示的通行路线被选择为最佳通行路线,因为其包括出发点、通行站点和目的地点之间的最小步行距离。
除了预定义的一组准则之外,一些实施方案的应用程序还基于由用户设定的一组通行偏好来选择最佳可能的路线。在一些实施方案中,用户通过设定或调整由地图应用程序提供的一组通行偏好来自定义应用程序。例如,在一些实施方案中,用户可将出发的日期和时间调整为特定日期和时间而不是当前时间。在一些实施方案中,用户可能优于其他类型而偏好特定类型的通行交通工具(即,特定通行系统的通行交通工具)。例如,在特定通行行程中,用户可能优于公共汽车而宁愿乘坐地铁列车,或者针对整个通行路线(例如,不包括渡轮行程的通行路线),仅使用地面交通。在以代理人案卷号APLE.P0652同时提交的标题为“Map Application with Transit Navigation Mode”的美国专利申请14/869,403中进一步描述了自定义路线选择,该专利申请以引用方式并入本文中。
一些实施方案在地理区域的地图的一部分上整体地显示最佳路线。一些此类实施方案将路线显示在多个区段中,其中每个区段由特定通行交通工具行驶。在一些实施方案中,地图应用程序针对由不同的通行交通工具行驶或者需要步行的已显示通行路线的不同部分使用不同的表示。在第四阶段120中已显示的通行路线包括两个不同部分185和187。通行路线的第一部分(路段)(即,路线部分185)由公共汽车行驶,而第二部分(即,路线部分187)由地铁列车行驶。这两个部分通过两个不同的图形表示(例如,针对公共汽车部分的公共汽车路线表示和针对列车部分的轨道表示)来显示,以将公共汽车部分和地铁部分彼此区分开。在下文的讨论中,通行路段指的是通行路线的一部分,该通行路段以需要通行交通工具更换或在通行路线中具有最小阈值距离的步行部分的通行策略开始或结束。
在例示的实施例中,还显示了两个小的步行部分197和199。具体地讲,步行部分197表示从设备(用户)196的当前位置到第一通行站点(即,通行路线的第一公共汽车站)的步行距离。第二步行部分199表示从最后的通行站点(即,通行路线的最后一个地铁站点)到目的地位置的步行距离。尽管这些步行部分是设备的用户行进以到达目的地的路径的一部分,但是如将在下文更详细地讨论的,在一些实施方案中,其不被认为是通行路线的单独路段。只有步行距离等于或大于阈值长度(例如,大于半英里、大于一英里等)时,一些此类实施方案才将通行路线的步行部分识别为路线的通行路段。在这些实施方案中,小于阈值的任何步行部分将不被识别为通行路线的步行路段。
在一些实施方案中,由不同的图形表示呈现的不同类型的通行交通工具包括公共汽车、地铁列车、轨道列车(例如,轻轨列车和重轨列车)以及渡轮。在一些实施方案中,这四个类别中的每个类别可包括多个不同的子类别。例如,公共汽车类别可包括由相同或不同的公共汽车服务提供方提供的单层公共汽车、双层公共汽车、刚性公共汽车、铰接式公共汽车等。又如,轻轨列车可包括许多不同类型的城市列车,诸如由相同或不同的轻轨服务提供方提供的街车、缆车、有轨电车等。另外,在一些实施方案中,最佳路线可包括相同类型(相同通行系统)的多个通行交通工具。在此类情况下,同一通行系统的每个通行交通工具与其他通行交通工具通过通行交通工具的不同线路来区分。例如,通行路线可包括由三条不同公共汽车线路的三辆公共汽车服务的三条不同的公共汽车路段。
第三阶段115的显示区域183在第四阶段120中被划分为两个显示区域190和193。事件显示区域190当前示出了在目的地的到达时间。然而,该显示区域还用于显示可帮助用户更容易地规划通行行程的各种其他通行信息。在以代理人案卷号APLE.P0662同时提交的标题为“Transit Incidents”的美国专利申请14/869,694中进一步描述了在显示区域190中显示不同的通行信息,该专利申请以引用方式并入本文中。该另外的通行信息的一些示例包括:(1)沿所显示的通行路线已发生的任何事件、(2)沿另一路线已发生的事件(该事件使得所显示的路线排序优于另一路线)、(3)通行路线的第一路段的出发时间或出发频率以及(4)整个路线的出发频率。
显示区域193用于显示所显示的通行路线的路线概要呈现。更具体地讲,该显示区域为每个通行交通工具针对通行线路的每条路段连同通行交通工具的线路而示出不同的表示。如该实施例所示,显示区域193当前示出了行驶通行路线的第一路段的125号线的公共汽车的表示,以及行驶通行路线的第二路段的166号线的地铁列车的表示。
在例示的实施例中,通行交通工具的每个表示包括表示通行交通工具的类型的标志(例如,公共汽车标志、地铁列车标志等)和几何形状,该几何形状(1)包括通行交通工具的线路并且(2)针对不同类型的通行交通工具是不同的(例如,针对公共汽车线路为矩形、针对地铁线路为椭圆形等)。然而,本领域的普通技术人员将认识到,不同类型的通行交通工具可以不同的实施方案来表示。例如,一些实施方案针对不同的表示提供不同的颜色以将其彼此区分开,而其他实施方案提供表示不同类型的通行交通工具的不同图形形状。
第四阶段120还示出了用于示出更多路线的可选的更多路线控件195。如上文所讨论的,所显示的通行路线是应用程序基于一组不同的准则以及一组用户偏好在一组不同的路线之中选择的最佳通行线路。选择控件195使得应用程序在单独的显示区域中的不同路线组中显示其他路线。在以代理人案卷号APLE.P0652同时提交的标题为“Map Applicationwith Transit Navigation Mode”的美国专利申请14/869,403中进一步描述了显示所有识别的通行路线和与路线表示进行交互。
II.基于出发频率表征通行线路
在一些实施方案中,基于在特定时间段内从特定通行站点出发的线路的通行交通工具的数量,将通行线路表征为高频率或低频率通行线路。类似地,在一些实施方案中,将特定线路的通行交通工具:(1)当通行交通工具属于高频率线路时表征为高频率通行交通工具,并且(2)当交通工具的线路是低频率通行线路时表征为低频率通行交通工具。
因此,在一些实施方案中,第一通行线路(例如,第一公共汽车线路)可在特定通行站点被表征为低频率通行线路,而不同的第二通行线路(例如,第二公共汽车线路)可在特定通行站点被表征为高频率通行线路。相反地,在一些实施方案中,在第一时间段内(例如,在一周中的偶数天、在早上、在两个特定小时之间等),通行线路可在特定通行站点被表征为高频率通行线路,而同一通行线路在相同的特定站点但是在不同的第二时间段内(例如,在一周中的奇数天、在晚上、在两个特定小时之间等)可被表征为低频率通行线路。
一些实施方案的地图应用程序对待高频率通行线路不同于低频率通行线路。作为一个示例,应用程序以第一方式呈现高频率通行交通工具的出发时间,而其以不同的第二方式在应用程序的UI的不同显示区域呈现低频率通行交通工具的出发时间。另外,一些实施方案的应用程序将高频率通行线路归类为不同的级别,并且不同地呈现每个级别的出发频率。
在一些实施方案中,通过在一个或多个专用服务器上运行的地图绘制服务来完成将通行线路分类为高频率线路和低频率线路并且计算特定通行线路的出发频率。在一些实施方案中,地图绘制服务是地图应用程序从其接收不同的地图绘制数据(例如,道路数据、交通数据等)和路由数据的同一地图绘制服务。在一些实施方案中,地图应用程序计算出发频率,而在其他实施方案中,出发频率的一部分由地图应用程序在其上执行的设备计算,并且从一个或多个地图绘制服务接收出发频率的另一部分。
为了确定在特定时间段内从通行站点出发的通行线路的频率,一些实施方案的地图绘制服务首先确定线路的通行交通工具是否在一定时间段(例如,30分钟)内平均至少一次从通行站点出发。该一定时间段在不同区域或针对相同或不同的通行系统的不同通行线路可以是不同的。当一些此类实施方案的地图绘制服务确定通行线路的交通工具在一定时间段内出发至少一次时,服务将线路的通行交通工具分类为高频率通行交通工具。然后,地图绘制服务计算高频率通行线路的出发频率。
例如,为了确定公共汽车线路在公共汽车站是高频率线路还是低频率线路,地图绘制服务确定该线路的公共汽车是否在接下来M小时(例如,3小时)每隔N(例如,25)分钟从公共汽车站出发。如果在接下来M小时每隔N分钟存在从该站出发的至少一辆公共汽车,则在接下来M小时地图绘制服务将该通行线路分类为该站点处的高频率线路。在一些实施方案中,地图绘制服务基于其从一个或多个通行服务提供方接收的通行数据来进行此类确定。在一些实施方案中,地图绘制服务周期性地请求或自动接收来自通行服务提供方的通行数据,而在其他实施方案中,当其(例如,从地图应用程序)接收到对线路的出发频率的请求时,地图绘制服务请求通行数据。
为了计算频率,一些实施方案的地图绘制服务首先识别在特定时间段内从同一通行站点前往同一方向的线路的通行交通工具的每对出发之间的时间间隔。然后,该服务将一系列数学函数和公式应用于所识别的数字(即,出发时间之间的间隙的序列),以便计算路线的出发频率。在一些实施方案中,计算的出发频率可以是表示出发的确切频率的数字(例如,每5分钟)、表示出发频率的近似值的数字(例如,约每5分钟),或数字范围(例如,每5至8分钟)。一些实施方案首先确定是否可使用确切的频率,然后确定(如果未发现确切的频率)是否可使用一组频率范围中的一个频率,并且仅在前两个选项不成功时尝试查找近似的频率值。
取决于通行线路在通行站点的频率类别,一些实施方案的地图应用程序以不同格式在应用程序的UI的不同显示区域上(例如,在地点卡、导航横幅等上)显示通行线路的出发时间表。例如,针对高频率通行线路,地图应用程序以频率格式显示线路的出发时间。也就是说,应用程序显示线路的通行交通工具从通行站点出发的频率(例如,每5分钟、每5至10分钟等)。然而,针对低频率通行线路,一些此类实施方案的地图应用程序以绝对时间格式显示出发时间。也就是说,地图应用程序显示线路的通行交通工具离开站点的时间(例如,下午2:30、下午3:30)。在一些实施方案中,应用程序仅显示高频率线路的一个出发频率(例如,在地点卡中的行程标题下),而其显示低频率线路接下来的通行交通工具的多个出发时间(例如,在列车线路的行程标题下的该线路的接下来三个出发时间)。
图2概念性地示出了一些实施方案执行以提供通行线路的出发时间表的过程200。在一些实施方案中,该过程由如上所述的地图绘制服务执行,而在其他实施方案中,该过程由地图应用程序形成。通过将通行线路分类(在210处)为高频率通行线路或低频率通行线路来发起过程200。如上所述,当在一定持续时间(例如,2小时)中,线路的通行交通工具在一定时间段(例如,30分钟)内平均至少一次从特定的通行站点出发时,一些实施方案将该通行线路分类为高频率通行线路。否则,一些此类实施方案将该线路分类为低频率通行线路。
然后,过程确定(在220处)该通行线路是高频率通行线路还是低频率。当过程确定通行线路是高频率时,过程计算(在230处)通行线路的出发频率。如上下文所述,一些实施方案的过程通过确定通行线路从特定通行站点出发的时间的连续间隙的集合是否可由(1)单个确切数字、(2)单个近似数字或(3)描述连续出发时间之间的间隙范围的一对数字来表达来计算线路的出发频率。
在计算高频率通行线路的出发频率之后,过程200提供(在240处)所计算的频率(例如,“每5分钟”、“约每10分钟”或“4至8分钟”)作为通行线路的出发时间表。随后,该过程结束。一些实施方案的过程提供将在地图应用程序的不同显示区域中显示的出发频率。例如,可将出发频率作为通行线路的出发时间表显示在通行线路从此处出发的通行站点的地点卡中、显示与通行线路相关的导航指令的导航横幅中等。另一方面,当过程确定(在220处)通行线路是低频率通行线路时,过程确定(在250处)设备是否比阈值距离更接近通行线路的出发时间表试图在此处被显示的通行站点。
当过程确定设备比阈值距离近时,过程提供(在260处)通行线路的下一通行交通工具的出发时间。也就是说,过程(例如,在通行站点的地点卡中、在导航横幅中等)提供该线路的下一通行交通工具离开通行站点的绝对出发时间(例如,“于下午2:30出发”等)。随后,该过程结束。
另选地,当过程确定设备距通行站点在阈值距离之外时,过程提供(在270处)从设备的当前位置出发的时间。也就是说,过程提供用户应离开当前位置以能够在通行站点处登上线路的下一通行交通工具的最晚时间(例如,显示在路线规划显示区域中、在导航横幅中等)。如上文所讨论的,一些实施方案仅显示高频率线路的一个出发频率(例如,在地点卡中的行程标题下),而这些实施方式显示低频率通行线路接下来的通行交通工具的若干出发时间(例如,在列车站点处的列车线路的行程标题下的该线路的接下来三个出发时间)。随后,该过程结束。
一些实施方案执行过程200的变型。过程200的特定操作可不以所示出和所描述的确切次序执行。另外,可不在一个连续的操作系列中执行这些特定操作,并且可在不同的实施方案中执行不同的特定操作。例如,当过程显示所计算的频率时,一些实施方案的过程显示对紧接所计算的频率之后的通行线路接下来的出发时间的一个或多个倒计时。
如上所述,除了频率的类别(即,高频率或低频率)之外,地图应用程序也基于其他因素显示通行线路的出发时间表。例如,在一些实施方案中,地图应用程序基于频率类别以及设备相对于通行站点的位置来显示出发时间表的不同格式。图3和4示出了基于通行交通工具的频率类别并且基于设备的位置来显示从通行站点出发的通行交通工具的时间表的不同格式。更具体地讲,图3依据三个不同的实施例305-315示出了显示地铁列车从地铁站点的出发时间表的一些实施方案的地图应用程序的UI 300。
在第一实施例305中,地图应用程序UI 300在地图呈现区域130中示出了在地图的呈现上方绘制的到地址(即,B街345号)的最佳通行路线320。当前设备的位置325也示出在离地铁站点330相对较远的地图呈现的区域上。路线概要显示区域193显示针对行程的步行路段的步行人员表示,以及行驶通行路线320的地铁路段的地铁列车表示。该实施例中的显示区域193还示出了从设备的当前位置到地址的总行程时间是1.6小时(1小时36分钟),其包括1.2英里的总步行距离。第一实施例305还示出了显示区域390显示将用户(乘客)带到目的地地址的地铁列车166号线的出发时间表为每5至10分钟。
例示的实施例在显示区域390中示出了166号线的地铁列车的出发频率。不过在该实施例中,166号线的地铁列车是到达目的地所需的唯一高频率通行交通工具。不同的实施方案基于行程的路段数量并且基于行程的每条路段是由高频率通行交通工具还是低频率通行交通工具行驶而在显示区域390中示出不同的时间表。在一些实施方案中,当存在行驶通行路线的不同路段的高频率和低频率通行交通工具的组合时,地图应用程序提供行驶该行程的第一路段的第一通行交通工具的出发频率。
在一些其他实施方案中,当通行路线的所有通行交通工具都是高频率通行交通工具时,地图应用程序提供行程的总出发频率。也就是说,在一些此类实施方案中,应用程序基于通行路线的每条路段中的出发间隙的不同序列来计算通行路线频率,并且然后在显示区域390中提供通行路线频率(即,用于通行路线中的线路的总出发频率)。下文参考图10和图11详细地描述了计算一些实施方案的通行路线的出发频率的方法。
图3的第二实施例310在地图呈现区域130中示出了在地图呈现上方绘制的到另一地址(即,C街567号)的最佳通行路线340。然而,在该实施例中的当前设备的位置325在地铁站点330处或者非常接近该地铁站点。因此,路线概要显示区域193不显示针对行程的任何步行路段的步行人员表示。相反,该显示区域仅包括行驶通行路线340的地铁路段的地铁列车表示。该实施例中的显示区域193还示出了从设备的当前位置到地址的总行程时间是25分钟并且包括仅0.1英里的总步行距离。第二实施例310还示出了显示区域390显示将用户(乘客)带到该实施例中的目的地地址的地铁列车188号线的出发时间表为每5分钟。
第三实施例315示出具有到同一地址(即,C街567号)的同一通行路线340的第二实施例310的相同UI。在该实施例中的当前设备的位置325同样在地铁站点330处。然而,在该实施例中,当天时间是晚上11:30,而第二实施例中的当天时间是下午1:20。该实施例中的显示区域193还示出了从设备的当前位置到地址的总行程时间是25分钟并且包括仅0.1英里的总步行距离。然而,第三实施例315示出了显示区域390现在包括针对同一地铁188号线的出发时间表为“约每13分钟”。这是因为相较于下午早些时候,地铁线路在当天的该时间从通行站点出发得更少。下文参考图7和图9详细地描述了在上述实施例中的每个实施例中以不同格式显示出发频率(即,“每5至10分钟”、“每5分钟”和“约每13分钟”)的原因。
图4依据两个不同的实施例405和410示出了显示列车(例如,轻轨列车)从列车站点的出发时间表的一些实施方案的地图应用程序的UI400。如上所述,一些实施方案的地图应用程序将不同的通行交通工具分组到高频率通行交通工具和低频率通行交通工具中。应用程序查看线路的通行交通工具从站点出发的间隔,并且如果间隔大于阈值(例如,30分钟),则应用程序将这些通行交通工具分组为低频率通行交通工具。在该实施例中,E号线的每一列车从列车站点的出发之间的间隔是一小时,因此该线路的列车被分类为低频率列车。
在第一实施例405中,地图应用程序UI 400在地图呈现区域130中示出了在地图的呈现上方绘制的到地址(即,D街789号)的最佳通行路线420。当前设备的位置425也呈现在离列车站点430相对较远的地图呈现的区域上。路线概要显示区域193显示针对行程的步行路段的步行人员表示,以及行驶通行路线420的列车路段的列车表示。该实施例中的显示区域193还示出了从设备的当前位置到地址的总行程时间是一小时45分钟,其包括1.4英里的总步行距离。第一实施例405还示出了显示区域490显示用户应离开用户的当前位置以能够赶上将用户(乘客)带到目的地地址的E号线的下一列车的最晚时间(例如,下午1:35)。
如上所述,一些实施方案的地图应用程序可智能地引导用户基于用户的位置来规划通行行程。一些此类实施方案的地图应用程序首先识别应用程序在其上运行的设备的位置。然后,应用程序评估设备与第一通行站点之间的距离,用户在该第一通行站点处登上第一通行交通工具。当应用程序认识到用户离通行站点远(例如,比阈值距离远)时,应用程序显示用户应开始通行行程(即,用户应离开当前位置朝向第一通行站点)的最晚时间。另一方面,当用户在通行站点处或在其附近(例如,比阈值距离近)时,应用程序显示线路的第一通行交通工具离开通行站点的时间。
第二实施例410示出了在地图呈现上方绘制的与第一实施例中相同的到目的地地址的通行路线420。然而,在该实施例中,当前设备的位置425非常接近列车站点430(示出设备几乎在通行站点处)。在实施例410中,路线概要显示区域193不显示步行人员表示,并且仅示出行驶通行路线420的列车路段的列车表示。该实施例中的显示区域193还示出了从设备的当前位置到地址的总行程时间是45分钟,其包括0.1英里的总步行距离。第二实施例410还示出了显示区域490显示E号线的第一列车被安排从列车站点出发的时间(即,下午2:30)。这是因为在该实施例中,地图应用程序已识别出用户在列车站点的附近,因此其示出列车的出发时间而不是用户应离开其当前位置的时间。
除了在通行路线规划UI诸如以上实施例中的显示区域190中提供通行出发时间表之外,当选择特定通行站点时,一些实施方案的地图应用程序提供针对该特定通行站点的详细通行信息。在一些实施方案中,当用户在地图视图上选择通行站点(例如,通过轻击显示在地图呈现上的站点的可选表示)时,地图应用程序提供显示区域(通行地点卡),该显示区域包括有关通行站点和从该通行站点出发的不同通行线路的各种信息。例如,一些此类实施方案的地图应用程序提供通行站点的名称和地址以及从该通行站点出发的不同通行线路的时间表。在以代理人案卷号APLE.P0676同时提交的标题为“Map Application withTransit Navigation Mode”的美国专利申请14/869,706中进一步描述了通行地点卡,该专利申请以引用方式并入本文中。
图5示出了用户可如何访问和查看提供与通行站点相关的通行时间表的通行站点地点卡。更具体地讲,该图通过地图应用程序UI的四个操作阶段505-520示出了用户选择显示在地理区域的地图上的特定通行站点。然后,用户可查看在特定通行站点停靠的所有通行交通工具的出发时间表。一些实施方案的地图应用程序在提供出发时间表中的信息时考虑通行站点所处的地区以及通行交通工具的类型(例如,该通行交通工具属于哪个通行系统)。
第一阶段505示出了包括在地图呈现的一部分上方绘制的最佳识别路线的表示的地图应用程序UI。所识别的通行路线包括两条不同的公共汽车路段570、步行部分575和地铁路段580。该阶段还示出了路线概要显示区域193显示通行路线概要表示,该通行路线概要表示包括针对56号线的公共汽车的公共汽车表示、针对244号线的公共汽车的公共汽车表示以及针对通行路线的地铁路段580的地铁列车表示。事件显示区域190显示通知用户事故导致用于通行路线中的两条公共汽车线路中的一条线路延迟的事件报告。
第二阶段510示出了用户选择所显示的通行路线的最后一个通行站点525。在一些实施方案中,通行站点地点卡可用的每个通行站点呈现在具有可选通行站点表示的地图上。在一些其他实施方案中,地图应用程序显示在地图呈现上显示的每个通行站点的通行站点表示。在其他实施方案中,地图应用程序不在地图呈现上方显示任何通行站点表示并且选择通行站点(例如,通过轻击在通行站点所处的区域处或在其周围的地图呈现上方的显示区域)将使地图应用程序显示所选通行站点的通行站点地点卡。在一些此类实施方案中,在该阶段选择地图上的通行站点指导应用程序提供类似于针对目的地显示的横幅的横幅。然后,用户可通过选择横幅上的对应控件(例如,在针对“A街123号”目的地的横幅的右手侧所描绘的右箭头)来选择通行站点地点卡。
第三阶段515示出了地图应用程序响应于对地铁站点525的选择而显示针对通行车站地点卡的显示区域530,该通行车站地点卡包括有关通行站点(即,地铁站点525)的基本信息以及不同线路的通行交通工具(即,地铁列车)的出发时间表。尽管在例示的实施方案中,基本信息仅包括通行站点的名称和地址,但是一些其他实施方案在通行站点地点卡中提供有关通行站点的各种信息。例如,一些实施方案的地图应用程序提供信息诸如去往站点和/或从站点启程的方向、站点的图像(例如,从站内和站外)、由信息聚合实体(例如,Yelp、Facebook、Twitter等)采集的有关通行站点的评论等。
第三阶段还示出了沿上城方向离开站点的所有地铁列车的出发时间表。更具体地讲,该阶段示出了针对向北方(即,沿上城方向)行驶的所有列车的行程标题540、每一列车的线路数字545、每一列车的出发频率550,以及对下一安排列车的出发的倒计时555。一些实施方案的地图应用程序针对一组通行交通工具行驶朝向的每个主要方向识别当地方向术语(如果此类术语可用)。一些此类实施方案的地图应用程序基于通行站点所处的地理区域来识别这些术语(例如,在某个地区中使用的术语)。然后,地图应用程序将所识别的术语显示为沿每个特定方向行驶的通行交通工具组的标头。在以代理人案卷号APLE.P0652同时提交的标题为“Map Application with Transit Navigation Mode”的美国专利申请14/869,403中进一步详细地描述了利用当地方向术语给通行方向贴标签。
在例示的实施例中,针对北方(例如,由地铁站点所处的该特定地理区域的乘客和交通系统)所使用的术语是“上城”。因此,地图应用程序已识别并显示上城作为从地铁站点向北行驶的地铁列车的标头。地图应用程序在该标头下列出被安排沿指定方向从地铁站点出发的线路的地铁列车。也就是说,一些实施方案的地图应用程序显示地铁线路的列表,该地铁线路的列车将在从当前时间的一定时间段内离开地铁站点(例如,在接下来15分钟内离开站点的地铁列车)。在阶段515示出的实施例中,15号线、56号线和99号线的三列不同的地铁列车将在从设备的当前时间(即,下午1:20)的接下来7分钟内沿上城方向离开站点。
第三阶段515中的每一列车的出发频率550示出了线路的下一列车离开地铁站点的时间间隔。一些实施方案的地图应用程序在通行站点的通行地点卡中以特定格式提供通行线路的每个通行交通工具的出发时间。一些此类实施方案的地图应用程序将通行线路分类为高频率通行线路和低频率通行线路两种类别。取决于通行线路的类别,地图应用程序以不同格式显示该线路的通行交通工具的出发时间。针对高频率通行线路,地图应用程序以频率格式显示出发时间,其包括线路的通行交通工具从站点出发的频率。针对低频率通行线路,地图应用程序以绝对时间格式显示线路的通行交通工具的出发时间,其包括通行交通工具离开站点的时间。
为了确定通行线路是高频率还是低频率,一些实施方案的地图应用程序首先评估线路的通行交通工具从通行站点出发的频率。然后,应用程序确定所评估的频率是否大于阈值(例如,预定义的时间段)。当所评估的频率大于阈值时,一些此类实施方案的地图应用程序将通行交通工具分类为低频率通行交通工具。另一方面,当所评估的频率小于等于阈值时,地图应用程序将通行交通工具分类为高频率通行交通工具。
在例示的实施例中,地图应用程序已将该线路的地铁列车在该特定地铁站点分类为高频率通行交通工具。因此,以频率格式(即,每5分钟)显示15号线的地铁列车的出发时间表。类似地,地图应用程序已确定99号线的地铁列车在该站点是高频率列车。因此,尽管不同于15号线的地铁列车,但也以频率格式(即,每10分钟)显示99号线的地铁列车的出发时间表。一些实施方案提供计算不同线路的通行交通工具从不同通行站点出发的频率的新方法。下文还参考图7至图9详细地描述了计算不同通行交通工具的出发频率的方法。
第三阶段515还示出了对每条地铁线路的下一安排地铁列车的出发的倒计时555。一些实施方案的地图应用程序提供对下一安排通行交通工具的出发的倒计时,以便向用户提供更精确的出发时间。倒计时和频率的组合给用户提供了通行交通工具的出发时间表所需的所有信息。换句话讲,用户通过查看倒计时信息将认识到用户必须等候该线路的下一列车多长时间。同时,用户通过查看出发频率将认识到如果其错过下一列车则用户必须多等待多久。
最后,第三阶段示出了用户正向上滚动显示在通行站点地点卡中的信息,以便查看由地点卡提供的其他通行信息。因此,用户通过瞟一眼例示的地点卡将认识到15号线、56号线和99号线的三列不同的地铁列车将在从设备的当前时间(即,下午1:20)的接下来7分钟内沿上城方向离开站点。地铁15号线和56号线的地铁列车每5分钟朝向上城出发,而99号线的地铁列车每10分钟朝向上城出发。地铁15号线的下一安排出发将在2分钟内,地铁56号线的下一安排出发将在4分钟内,并且地铁99号线的下一安排出发将在7分钟内。
第四阶段520示出了在向上滚动信息之后显示另外出发信息的通行站点地点卡。显示屏530现在显示行程标题540下的上城出发时间表以及朝向下城出发的地铁列车的时间表。更具体地讲,该阶段示出了针对向南方(即,沿下城方向)行驶的所有列车的行程标题560、每一列车的线路数字、每一列车的出发频率,以及对下一安排列车的出发的倒计时。
在例示的实施例中,(例如,由地铁站点所处的该特定地理区域的乘客)所使用的用于指代南行通行的术语是“下城”。因此,地图应用程序已识别并显示下城作为从地铁站点沿南行方向(即,朝向下城地理区域)行驶的地铁列车的行程标题。地图应用程序在该行程标题下列出被安排接下来从地铁站点出发的线路的地铁列车。也就是说,一些实施方案的地图应用程序显示不同线路的列车的列表,所述列车将在从当前时间的一定时间段内离开地铁站点(例如,在接下来15分钟内离开站点的地铁列车)。在阶段520中示出的实施例中,27号线和42号线的两列不同的地铁列车将在从设备的当前时间(即,下午1:20)的接下来12分钟内朝向下城离开站点。这两条地铁线路都具有每15分钟朝向下城出发的列车。地铁27号线的下一安排出发将在7分钟内,并且地铁42号线的下一安排出发将在12分钟内。
尽管图中示出的实施例涉及地铁站点和地铁列车,但是普通技术人员将认识到,这些实施例也可等同地适用于(例如,来自不同通行系统的)其他类型的通行站点和其他类型的通行交通工具。例如,一些实施方案的地图应用程序提供公共汽车站地点卡,该公共汽车站地点卡提供停靠在该公共汽车站的公共汽车的时间表。类似地,一些实施方案提供渡轮和轻轨分别的渡轮码头地点卡和轨道地点卡,每个地点卡提供相应的通行交通工具的不同的出发时间表。
例示的实施例示出了地铁站点的通行站点地点卡,在该地铁站点中,不同线路的所有地铁列车都被安排在短时间间隔(例如,每15分钟或更少时间)内从站点出发。因此,以频率格式显示所有出发时间表。如上所述,一些实施方案的地图应用程序还提供显示低频率通行交通工具(例如,以更长时间间隔诸如每30分钟或更长时间从通行站点出发的通行交通工具)的出发时间表的通行站点地点卡。一些此类实施方案的地图应用程序在此类通行站点地点卡中不同地显示出发时间表。
作为示例,当用户选择显示在由地图应用程序提供的地理区域的地图呈现上的公共汽车站表示时,应用程序提供所选公共汽车站的公共汽车站地点卡。然后,地点卡可示出从所选公共汽车站出发的两条不同的公共汽车线路的时间表。第一公共汽车线路可包括以每12分钟的频率从公共汽车站出发的公共汽车。第二公共汽车线路可包括以每30分钟的频率从公共汽车站出发的公共汽车。
一些实施方案的地图应用程序在地点卡中以与该图的第四阶段中所描绘的相同方式显示第一公共汽车线路时间表。也就是说,地图应用程序显示线路的行程标题、线路数字和指明“每12分钟”的出发频率。然而,针对第二线路,一些实施方案的地图应用程序不同地显示出发的格式。例如,在一些实施方案中,地图应用程序显示行程标题、行程标题下的路线数字,和一组一个或多个公共汽车表示(例如,公共汽车标志),以及每个公共汽车表示前面的出发时间。该组中的公共汽车表示的数量在不同的实施方案中有所变化。一些实施方案仅显示下一公共汽车和其从公共汽车站出发的时间,而其他实施方案显示一定数量的下一安排出发。
上述实施例示出了地铁站点的通行地点卡。在一些实施方案中,用户可在所显示的地图呈现上选择通行枢纽表示。一些实施方案中的交通枢纽是大型交通设施,其包括用于不同通行交通工具(例如,轻轨列车、公共汽车、地铁列车等)的不同类型的通行站点(例如,列车站点、公共汽车站、地铁站点等)。在选择通行枢纽表示时,一些此类实施方案提供通行枢纽地点卡,该通行枢纽地点卡具有包括所有不同类型的通行交通工具从不同类型的通行站点出发的时间表的可滚动显示区域。然后,用户可滚动通过不同类型的通行交通工具的不同通行线路,以查看期望的通行站点和通行交通工具从期望的通行站点出发的时间表。
图6示出了提供从通行枢纽出发的不同类型的通行交通工具和通行线路的通行时间表的通行枢纽地点卡的实施例。具体地讲,该图通过地图应用程序UI的三个操作阶段605-615示出了通行枢纽地点卡和用户与地点卡的交互以查看有关不同通行线路从通行枢纽出发的时间表的更多信息。
第一阶段605示出了地图应用程序在通行地点卡显示区域530中显示有关通行枢纽的基本信息以及不同线路的不同通行交通工具(即,轨道列车)的出发时间表。地点卡显示区域可例如响应于在类似于图5中示出的实施例的地图呈现上对通行枢纽表示的选择而显示。尽管在例示的实施例中,有关通行枢纽的基本信息仅包括枢纽的名称和地址,但是一些实施方案在通行站点地点卡中提供有关通行枢纽的各种信息。例如,一些实施方案的地图应用程序提供信息诸如去往站点和/或从站点启程的方向、站点的图像(例如,从站内和站外)、由信息聚合实体(例如,Yelp、Facebook、Twitter等)采集的有关通行站点的评论等。
第一阶段还示出了沿上城方向离开枢纽的所有列车的出发时间表。更具体地讲,该阶段示出了针对向北方(即,沿上城方向)行驶的所有列车的行程标题620、每一列车的线路数字625,以及每一条线路的每一列车的出发时间630。类似于最后一个实施例,在例示的实施例中,针对北方(例如,由地铁站点所处的该特定地理区域的乘客和交通系统)所使用的术语是“上城”。因此,地图应用程序已识别并显示上城作为从地铁站点向北行驶的列车的标头。地图应用程序在该标头下列出被安排沿指定方向从枢纽出发的不同列车线路。在阶段605示出的实施例中,两条不同的列车E号线和列车D号线将沿上城方向离开站点。
只是与先前实施例不同的是,列车线路的出发时间表不以频率格式示出。这是因为这些列车线路被分类为低频率通行线路,并且因此以绝对时间显示其出发时间。也就是说,针对每条列车线路,地图应用程序显示线路的下一可用列车离开站点的时间。在一些实施方案中,针对低频率通行交通工具,地图应用程序显示接下来一定数量的通行交通工具的出发时间。
在例示的实施例中,针对每一条线路,地图应用程序显示接下来两个出发时间。本领域的普通技术人员将认识到,不同的实施方案可示出每条线路的不同数量的出发(例如,接下来三个出发、接下来四个出发等)。第二阶段610示出了用户正向上滚动显示在通行站点地点卡中的信息,以便查看由地点卡提供的其他通行信息。在例示的实施例中,设备上示出的当前时间是下午3:47,并且因此地图应用程序显示E号线的下一可用出发时间是下午5:00,并且在此之后直到下午6:00不存在沿下城方向出发的其他列车。类似地,列车D号线的下一可用出发时间是下午5:30,并且在此之后直到下午7:15,该线路不存在沿下城方向出发的其他列车。
第三阶段515示出了在向上滚动信息之后显示另外出发信息的通行枢纽地点卡。显示屏530现在在针对朝向下城(向南行驶的列车的当地方向术语)出发的列车线路的行程标题635下显示下城出发时间表、在针对朝向东城(在该地区针对东方的当地方向术语)出发的地铁线路的行程标题640下显示东城出发时间表,并且在朝向西城(在该地区针对西方的当地方向术语)出发的公共汽车线路的行程标题645下显示西城出发时间表。
在例示的实施例中,55号线和66号线的地铁列车被列出在示出这些线路被安排每5分钟从地铁站点出发的行程标头东城下。这是因为这些地铁线路被地图应用程序(或向地图绘制应用程序提供这些信息的地图绘制服务)分类为高频率线路。地铁55号线的下一安排出发将在2分钟内,而地铁66号线的下一安排出发将在4分钟内。第三阶段615还示出了88号线和99号线的公共汽车被列出在示出这些公共汽车线路沿西方方向从该通行枢纽出发的行程标头西城下。然而,如图所示,公共汽车88号线被分类为高频率公共汽车线路,并且因此在地点卡中以频率格式显示该线路的出发时间表,而公共汽车99号线被分类为低频率公共汽车线路,并且因此以绝对时间格式(即,线路接下来的一辆或多辆公共汽车离开通行枢纽的时间)显示该线路的出发时间表。
III.计算出发频率
如上所述,一些实施方案的地图绘制服务计算通行线路的高频率通行交通工具的出发频率,并且然后显示计算的频率。为了计算出发频率,一些实施方案的地图绘制服务使用接收通行线路的特定路线的线路的出发时间表(例如,通行线路的出发时刻表),并且产生给定时间和日子下在沿特定路线的每个站点处的线路的出发频率的新方法。一些实施方案中所接收的路线的出发时间表包括线路的通行交通工具在特定时间段(例如,一天、一周、一月等)内在特定路线的每个通行站点处的出发时间。
该方法首先生成线路在特定站点的每个出发时间的窗口组。在一些实施方案中,每个窗口组包括出发时间的序列,该序列以在站点的对应出发时间开始,并且以对应出发时间之后的出发时间继续,一直到未来的合理的时间界限。一些实施方案中的时间界限可被设定为包括至少L个出发时间(例如,4个出发时间)和至多H个出发时间(例如,10个出发时间),使得最后一个出发时间不超过相对于开始时间的未来T小时(例如,2小时)。
例如,当公共汽车X号线在公共汽车站Y的出发时间是“4:49、5:04、5:19、5:34、6:04、6:19、6:34、6:49、7:04、7:19”时,在四个和十个出发时间之间并且同时该组中最后的时间不超过开始时间两小时的该站点处的出发时间4:49的窗口组包括出发时间“4:49、5:04、5:19、5:34、6:04、6:19、6:34”。类似地,该站点处的出发时间5:04的窗口组包括出发时间“5:04、5:19、5:34、6:04、6:19、6:34、6:49、7:04”,并且出发时间5:19的窗口组将包括“5:19、5:34、6:04、6:19、6:34、6:49、7:04、7:19”,以此类推。
当没有此类连续的子序列(即,出发时间的子序列)可行时,一些实施方案的方法不生成窗口组。在一些实施方案中,当出发时间表数据不可用或者站点处的出发时间大幅度地不同(例如,在早上有两个出发并且在晚上有三个出发)时,子序列不可行。在一些其他实施方案中,当没有此类连续子序列可行时,该方法生成空窗口组。然后,通过一些实施方案的方法独立地处理每个生成的窗口组(即,站点处的每个相关联的出发时间的窗口组)。
该方法通过使用表达出发序列中的间隙(即,每对连续出发之间的间隔)的单个数字,或者表达出发序列中的间隙范围的一对数字来粗略估计每个窗口组中的序列来处理每个窗口组。由一些实施方案的方法生成的表达式的尺寸独立于出发序列尺寸。因此得到的表达式简洁地表达序列。
一些实施方案的方法尝试相对于包括若干阈值的规范来表达间隙(出发之间的间隔)的序列,所述若干阈值用于确定出发时间中的连续间隙的集合是否可由(1)单个确切数字、(2)单个近似数字或(3)描述连续出发时间之间的间隙范围的一对数字来表达。图7概念性地示出了一些实施方案执行以确定如何表达(呈现)高频率通行线路的出发时间表的过程700。具体地讲,过程700确定是用确切的数字、近似数字还是数字范围来表达出发间隔。应当理解,过程700仅是一个此类可能的过程,并且不同的实施方案可使用对该过程的变型。例如,一些实施方案不区分将出发间隔表达为确切数字或近似数字,而是代替地仅确定是否将这些间隔表达为单个数字或数字范围。
在一些实施方案中,在一个或多个专用服务器上运行的地图绘制服务执行该过程,并存储结果以发送给地图应用程序,或将结果实时(即,根据请求)返回给地图应用程序。在一些其他实施方案中,该过程由在设备上执行的地图应用程序执行。在一些实施方案中,该过程由在一个或多个服务器上运行并向地图应用程序提供通行数据(例如,路由、导航、事件、方向标签等)的地图绘制服务执行。在一些其他实施方案中,该过程由特别指定用于计算出发频率的一个或多个服务器执行。在一些实施方案中,服务器预先计算不同通行线路的出发频率,并且在启动时将预先计算的频率加载到存储器(例如,易失性存储器等)中并且在存储器中组织频率。
在一些此类实施方案中,地图应用程序向服务器发送对通行线路的出发时间表的请求。一些实施方案中对出发时间表的请求指定通行线路、通行线路的通行交通工具出发的通行站点、该时间表所需的特定时间以及该线路在该通行站点的行程标题。在接收到此类请求时,服务器从存储器检索出发频率的相关连续组,并将检索到的组发送回请求地图应用程序。在一些实施方案中,服务器还将对应于所请求时间的附近未来时间的特定数量的出发频率发送回请求地图应用程序。
参考图8来描述过程700,该图提供了用于计算作为特定站点处的通行线路的出发时间表的出发范围的实施例。过程700首先接收(在705处)窗口组,该窗口组包括在一定时间段内从特定通行站点前往同一方向的通行线路的通行交通工具的出发时间序列。在图8中,窗口组被示出为出发时间序列“5:10、5:20、5:30、5:41、5:51和6:00”。这些出发时间例如对应于地铁线路在一小时内在特定地铁站点处的出发时间。
在一些实施方案中,窗口组从如上文所讨论的特定路线的线路的出发时间表(例如,出发时刻表)生成。一些实施方案从一个或多个通行服务数据提供方接收通行线路集合的出发时间表集合之中的线路的时间表。一些此类实施方案存储所接收的通行数据并周期性地更新所存储的数据。当这些更新对通行服务数据提供方可用时,一些其他实施方案更新所存储的通行数据。
然后,过程700计算(在710处)窗口组中的通行线路的连续出发时间之间的间隙。换句话讲,该过程计算窗口组中的连续出发时间之间的差值序列,Δ={δ'
然后,该过程确定(在715处)单个值是否准确地表达对应于窗口组中的出发时间的计算的序列。也就是说,该过程确定小阈值内的单个数字是否表达该序列。一些实施方案的过程相对于输入参数σ
在图8中示出的实施例中,方差是0.4分钟。也就是说,只要阈值σ
在其他实施方案中,该过程进行关于是否相对于两个输入参数ε
另一方面,当过程不能确切地表达间隙序列时,该过程确定(在725处)一组范围中的一个范围是否可表达计算的序列。具体地讲,该过程确定序列是否可由范围的规范集C中的一对Δ来表达。在一些实施方案中,C是由
一些实施方案区分其中可通过规范高斯对集中的一对分离良好的单变量高斯来很好地粗略估计出发间隙的分布的情况和其中可通过来自规范高斯对集中的一对均值来很好地粗略估计分布的最小值和最大值的情况。在一些实施方案中,该过程首先尝试查找高斯对,并且只有该尝试失败时,才尝试查找粗略估计间隔的最小值和最大值的最佳均值对。
为了尝试在规范对集中找到一对分离良好的单变量高斯,一些实施方案的过程限定了一组可行解,并且然后优化限定的解集。为此,该过程尝试经排序的序列的所有可能双分区,Δ={δ'
本领域的普通技术人员将认识到,在该实施例中给定的出发时间仅是示例性的,并且实际出发时间事实上可是不同的。换句话讲,为了描述简单起见,以为了渲染经排序的间隙序列的此类方式来选择实施例中的出发时间,并且实际出发时间序列可渲染连续出发之间的未经排序的间隙列表。如上所述,一些实施方案在计算出发序列中的间隙之后对间隙序列进行排序(例如,从最低数字到最高)。
在一些实施方案中,每个双分区包括一组小Δ和大Δ。该过程将相关联的Δ解释为高斯。因此,针对每个双分区,该过程生成一对高斯,其中一个高斯描述了小Δ集,并且另一个高斯描述大Δ集。针对每个此类选择,该过程从规范高斯对集C中查找一组可行高斯对。针对对应于该分区的高斯对(N
针对因此限定的可行解集,该过程挑选跨低Δ和高Δ的平均统计距离最小的可行规范候选。在以上实施例中,该过程将确定双分区(4,6;9,10,12)能够在5至10分钟的候选范围内很好地适合,并且因此该过程将出发范围返回为在5至10分钟之间。具体地讲,第一组(4,6)的均值为5并且方差σ
一些实施方案的过程使用一对高斯之间的海林格距离的标准概念。然而,本领域的普通技术人员将认识到,一对高斯之间的其他适当形式的统计距离等同地适用。下面的算法1准确地描述了这一点。为了符号方便,一些符号被滥用,导致Δ也表示对应于集Δ的经排序的序列,即Δ[i]≤Δ[j](i 算法1:查找最佳高斯对(Δ[1…L],C) 最接近←∞ 针对i←1:L进行 N N F (N 如果d 最接近←d (N 如果最接近<∞则 返回(N 返回 在以上算法中,一些实施方案使用0.05作为ε 算法2:d l h l h 如果(l 返回1 S←(min{h 返回1-S 在以上算法2中,为了防止h 当不可使用来自规范集的一对高斯来粗略估计分布时,该过程尝试在规范集之中查找高斯对,使得该对均值很好地“适合”分布的最小值和最大值。基本上,该操作将最小值和最大值与来自规范高斯对集中的低均值和高均值进行比较。针对来自规范高斯对集C的固定的高斯对(N 算法3:查找MinMax的最佳均值对(Δ[1…L],C) (min,max)←(min(Δ),max(Δ)
返回(α,β) 当过程确定如上所述的该对Δ(即,集C中的对中的一对)(一对高斯或一对均值)中的一者表达间隙时,该过程将该对作为出发频率的范围返回(在730处)。另一方面,当过程不能使用集C中的对中的一对来表达间隙序列时,该过程确定(在735处)单个值是否近似地表达间隙,Δ={δ' 一些实施方案的地图应用程序部署该过程或类似于此的过程,以根据请求计算高频率通行线路的出发频率。例如,当地图应用程序接收到对通行站点的地点卡的请求时,其计算从该通行站点出发的不同通行线路的出发频率并在地点卡中提供出发频率,如上文所讨论的。或者当地图应用程序接收到对导航呈现的请求时,应用程序计算出发频率并在对应导航横幅中显示该出发频率。在一些其他实施方案中,当地图应用程序接收到对出发时间表的请求时(例如,显示在地点卡、导航横幅等中),应用程序向一个或多个专用的服务器发送对频率时间表和计算的请求,并且接收从这些服务器返回的所请求的信息。 一些此类实施方案的服务器在其从地图应用程序接收到请求时计算出发频率。另选地或与其结合地,专用服务器预先计算频率时间表(例如,在接收到新的或已更新的一组出发时刻表之后),并将计算的频率存储在一个或多个数据存储中以备后用(例如,显示在地图应用程序的不同用户界面中)。在从地图应用程序接收到对出发时间表的请求时,这些服务器检索相关的存储的时间表并将其发送到请求地图应用程序。 图9概念性地示出了一些实施方案用于确定应以哪种格式显示在一天中的特定时间离开特定通行站点的特定通行线路的出发频率的频率发生器模块。更具体地讲,频率发生器模块确定以上三个表达式中的哪一个可应用于出发间隙序列。如图所示,一些实施方案的频率发生器模块包括若干其他模块,所述若干其他模块是窗口组发生器模块920、确切单例模式发生器模块930、范围发生器模块940以及近似单例模式发生器模块950。 频率发生器模块910接收出发时刻表960作为输入。一些实施方案中的时刻表是模块从一个或多个通行数据提供方接收的时刻表集合中的一个时刻表。如图所示,时刻表960包括一组列和一组行。时刻表的列对应于通行线路的通行交通工具停靠的通行站点。时刻表的行对应于通行线路的通行交通工具在每个通行站点的出发时间序列。例如,第一行示出了线路的第一公共汽车在每个公共汽车站的出发时间,第二行示出了线路的第二公共汽车在公共汽车站的出发时间,以此类推。 频率发生器模块的窗口组发生器模块接收时刻表,并且如上所述,迭代地为时刻表的列(例如,梅因街的公共汽车站的突出显示列)的每个出发时间生成窗口组。然后,针对每个通行站点列,频率发生器模块输出具有多个小区的列,每个小区包括通行站点列的每个对应小区的出发频率。输出列的每个单元表示线路的下一通行交通工具的出发频率,并且可为上述三种格式(即,确切时间、近似时间或时间范围)中的一者。 如图所示,与时刻表960的突出显示列的出发频率(用于梅因街站)相对应的输出列970具有多个单元。该列的前两个单元显示线路的第一辆公共汽车和第二辆公共汽车在梅因站点处的出发频率是每5分钟(即,线路的每一对出发之间的时间间隔是5分钟)。该列的第三个单元显示线路的第三辆公共汽车在梅因站点处的出发频率介于5-7分钟之间,而第四个单元显示第四辆公共汽车的出发频率介于10-15分钟之间。最后,该列的第五个单元显示线路的第五辆公共汽车在梅因站点处的出发频率为大约6分钟。 为了产生这种输出,一些实施方案的频率发生器模块针对与线路的出发时间相对应的每个所生成的窗口组,计算窗口组的连续单元之间的差值(δ' 当这种确定不可行时,作为范围发生器模块950的下一个模块开始确定所生成的间隙序列是否可由范围的规范集C中的一对Δ来表达。模块连同规范集C({(N 当这种确定也不可行时,作为近似单例模式发生器模块950的下一个模块开始确定单个数字是否可近似于相对于该模块接收到的输入参数σ 目前描述的所有频率时间表都是时间表(或出发)频率。换句话讲,上述频率是特定通行线路的通行交通工具从特定通行站点出发的出发频率。一些实施方案的地图应用程序还显示所选择的通行路线的通行频率或路线频率,其包括从起始位置到目的地的多条路段。所选择的通行路线的每条路段使用不同的通行交通工具或可通过可导航的步行网络指导“步行”。 一些实施方案的地图应用程序还可计算并提供总体通行频率(或请求根据在一个或多个专用服务器上运行的地图绘制服务进行这种计算),并且在通行路线的所有路段由高频率通行交通工具服务时显示所计算的频率。在一些其他实施方案中,即使在通行路线的不同路段的通行交通工具为高频率和低频率通行交通工具的组合时,地图应用程序也计算(或请求计算)并显示通行路线的通行频率。 图10概念性地示出了一些实施方案执行以计算所选择的通行路线的总体通行频率的过程1000。具体地讲,过程1000生成通行路线的窗口组,以便生成通行路线的频率,该窗口组可被用作上文参考图7描述的过程的输入。所计算的通行路线的窗口组包括从第一路段中的起始位置出发的时间序列。序列中的每个出发时间是从起始位置出发的最晚时间,以便使到目的地的通行行程在用于计算窗口组的时间段内在时间上是可行且独立的。 在一些实施方案中,在一个或多个专用服务器上运行的地图绘制服务执行该过程,并存储结果以发送给地图应用程序,或将结果实时(即,根据请求)返回给地图应用程序。在一些其他实施方案中,该过程由在设备上执行的地图应用程序执行。在一些实施方案中,由于预先计算通行路线的时间表(频率)涉及较高的时间变化性和组合复杂性,因此地图应用程序和/或专用服务器仅按需计算通行频率。也就是说,地图绘制服务或被指定用于计算出发频率的一个或多个专用服务器仅在它们从地图应用程序接收到这种请求时才计算通行路线的总体通行频率。 将参考图11来描述过程1000,该图提供了用于计算包括从设备的当前位置出发的时间在内的出发序列(即,窗口组)的实施例。图11示出了包括四条通行路段1110-1125的通行路线1105。第一通行路段1110表示从乘客的起始位置到第一通行站点的步行路线。最后的通行路段1125也代表从最后的通行站点到期望的目的地的步行路线。第二路段1115和第三路段1120使用两种不同的通行交通工具。每条路段旁边的分钟数(图的左手侧)是进行相应行程的预计时间长度。例如,第一步行路段的行程时间为五分钟,而最后的步行路段的行程时间为七分钟。 一些实施方案将步行路线视为每分钟出发的通行路线,因此不受约束。一些此类实施方案在作为缓冲区的每个通行站点处留出一分钟的过渡时间,从而允许乘客可行地过渡到通行路线的下一路段。这些实施方案将这种过渡成本计入通行路线中前一路段的通行持续时间中。 过程1000首先接收(在1005处)所选择的通行路线的每条路段的出发时间表和通行时间。在图11的实施例中,该过程接收出发时间表1130-1145,这些时间表是表示从相应路段1110-1125的起点出发的时间的数字序列。如上所述,步行路段被视为每分钟出发的通行路线,因此出发时间表1130和1145包括在相应步行路段的起点处每分钟发生的出发时间。另外,最后的序列1150中的数字表示使用最后的步行路段的目的地的到达时间。 过程1000然后将第一路段的出发时间(即,时间表1130)存储(在1010处)为路线的可能出发时间。也就是说,该过程首先将第一路段的出发时间存储为出发时间的潜在序列,该出发时间可以是从起始位置出发的最晚时间,以便使到目的地的通行行程在时间上是可行的。因此,在例示的实施例中,序列1130被存储为潜在的出发时间。 接下来,该过程选择(在1015处)第一路段作为当前路段进行处理。然后,该过程针对下一路段的每个可行出发,识别(在1020处)当前路段的最晚出发时间,该最晚出发时间将允许乘客在该出发时间前到达下一路段。换句话讲,确定当前路段的哪个出发时间将是乘客可从当前路段的起点出发的最晚时间,以便赶上下一路段的出发时间中的特定出发时间。因此,在图11的实施例中,该过程将第一路段中的出发时间第5分钟识别为最晚时间,以便赶上第二路段中的出发时间第10分钟。这是因为乘客必须步行5分钟(即,第一路段的通行时间)才能到达第二路段的起始通行站点。 类似地,该过程将第一路段中的出发时间第7分钟识别为最晚时间以便赶上第二路段中的出发时间第12分钟,将第一路段中的出发时间第15分钟识别为第二路段中的出发时间第20分钟的最晚时间,将出发时间第17分钟识别为第22分钟的最晚时间,将出发时间第25分钟识别为第30分钟的最晚时间,将出发时间第27分钟识别为第32分钟的最晚时间,并且最后将出发时间第28分钟识别为最晚时间以便赶上第二路段中的出发时间第33分钟。 在针对下一路段中的每个可行出发时间识别当前路段中的最晚出发时间之后,过程1000针对每个所识别的出发时间存储(在1030处)从当前路段中所识别的出发时间到下一路段中其相应的可行出发时间的路径(链接)。在图11的实施例中,该过程存储从第一路段(当处理第一路段时,为当前路段)中的第5分钟到第二路段中其相应的出发时间(为第10分钟)的路径(链接)。类似地,该过程存储从第一路段的第7分钟到第二路段的第12分钟、从第15分钟到第20分钟、从第17分钟到第22分钟、从第25分钟到第30分钟、从第27分钟到第32分钟以及最后从第28分钟到第33分钟的路径(链接)。 然后,该过程确定(在1040处)用于处理的下一路段是否是通行行程的最后路段。如果该过程确定用于处理的下一路段不是通行路线的最后路段,则该过程选择(在1045处)下一路段作为用于处理的当前路段,并返回到1020以识别该路段的最晚出发时间。在图11的实施例中,该过程确定有更多的路段要处理,因此选择第二路段作为当前路段来处理。然后,该过程将第10分钟识别为第二路段中的最晚出发时间,以便赶上第三路段中的出发时间第21分钟。 这是因为第二路段的行程时间为10分钟,因此第二路段中的第一出发时间(第10分钟)可赶上第三路段中的出发时间第21分钟。类似地,该过程将第二路段中的出发时间第12分钟识别为最晚时间以赶上第三路段中的出发时间第25分钟,将出发时间第20分钟识别为第30分钟的最晚时间,将出发时间第30分钟识别为第40分钟的最晚时间,并且最后将出发时间第33分钟识别为最晚时间以赶上第三路段中的出发时间第50分钟。然后,该过程存储从第二路段的每个所识别的出发到第三路段中其相应的出发时间的路径。 也就是说,该过程存储第二路段的第10分钟和第三路段的第21分钟之间、第二路段的第12分钟和第三路段的第25分钟之间、第二路段的第20分钟和第三路段的第30分钟之间、第二路段的第30分钟和第三路段的第40分钟之间以及最后第二路段的第33分钟和第三路段的第50分钟之间的路径。该过程迭代地执行这些步骤,直到通行路线的最后路段也被处理。在处理最后路段(即,通行路线中的倒数第二路段)之后,该过程已经针对第一路段的每个所识别的出发时间存储了从第一路段开始并且到达最后路段中的出发时间或在其间某个地方结束的路径。也就是说,在存储所有路径(链接)之后,可能有一些链接未将第一路段的任何所确定的出发时间连接到最后路段的任何可行的出发时间。 当过程1000确定(在1040处)其已经到达通行路线的最后路段时,则该过程移除(在1045处)不具有到最后路段中的可行出发时间的唯一路径的第一路段的出发时间。换句话讲,该过程检查其针对每条路段的每个所识别的出发时间存储(在1030处)的路径。如果该过程可连接来自第一路段中的每个所识别的出发时间的路径以形成从第一路段到最后路段的唯一路径,则该过程保持第一路段的该出发时间,否则该过程从第一路段的所识别的出发时间列表中移除该出发时间。 在图11的实施例中,该过程从第一路段的第5分钟开始,该时间被识别为潜在的通行出发时间。通过检查所存储的路径,该过程认识到第一路段的第5分钟链接到第二路段的第10分钟,第二路段的第10分钟又链接到第三路段的第21分钟,并且第三路段的第21分钟链接到最后路段的第36分钟。因此,该过程确定在第一路段的第5分钟和最后路段的第36分钟之间存在直接路径(链接)。对于第7,15,27和28分钟进行相同的确定。然而,对于第17分钟,该过程确定第一路段的第17分钟和第二路段的第22分钟之间存在链接,但是该链接在该处中断,并且从第二路段的第22分钟到第三路段不再存在链接。 因此,该过程将出发时间第17分钟从第一路段中移除,因此从该出发时间到下一路段的链接用虚线而不是实线示出。该过程还确定从第一路段的第27分钟到最后路段的任何出发时间都没有唯一链接,因此也将其从第一路段中移除。因此,在移除第一路段的所识别的出发时间列表中的未链接的出发时间之后,第一路段中的剩余出发时间将是在图中被示出为用实线连接到下一路段的出发时间5,7,15,27和28。 然后,该过程使用(在1050处)第一路段的剩余出发时间(即,出发时间5,7,15,27和28)作为通行路线的出发时间。具体地讲,一些实施方案的过程使用剩余序列作为通行路线的窗口组,并且基于该窗口组计算(在1055处)通行路线的出发频率。一些实施方案的过程通过使用该窗口组作为上文参考图7描述的过程的输入以生成通行路线的频率来计算出发频率。随后,该过程结束。如上所述,该窗口组中的每个出发时间将是从起始位置(即,乘客的当前位置)出发的最晚时间,以便在用于生成该窗口组的时间段内形成到目的地的通行行程。 一些实施方案执行过程1000的变型。过程1000的特定操作可不以所示出和所描述的确切顺序执行。另外,可不在一个连续的操作系列中执行这些特定操作,并且可在不同的实施方案中执行不同的特定操作。例如,在一些实施方案中,该过程将所生成的窗口组(该序列中的剩余通行路线)返回给地图应用程序。然后,一些此类实施方案的地图应用程序向用户显示该序,使得用户将知道何时离开当前位置能够赶上特定通行路线的通行交通工具。如果用户采用在第一路段的所识别的出发时间中的一者出发的特定通行路线,则用户还可轻易地确定到达目的地的时间。 例如,在上文描述的图11中,用户通过查看出发顺序将认识到,如果用户在第5分钟(例如,在当前时间后5分钟)开始行程,则用户将能够在第10分钟在第一通行站点登上通行交通工具,在第21分钟在第二通行站点登上通行交通工具,并且在第43分钟到达目的地。类似地,如果用户在第28分钟开始行程,则用户将能够在第33分钟在第一通行站点登上通行交通工具,在第50分钟在第二通行站点登上通行交通工具,并且在第72分钟到达目的地。 IV.电子系统 上文所述的特征和应用程序中的许多可被实现为被指定为在计算机可读存储介质(还称为计算机可读介质)上记录的一组指令的软件过程。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器的内核或者其他处理单元)执行时,这些指令使处理单元执行指令中所指示的动作。计算机可读介质的实例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)等。计算机可读介质不包括无线地传送或通过有线连接的载波和电信号。 在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或者存储在磁性存储设备中的应用程序,所述固件或应用程序可被读取到存储器中以用于由处理器进行处理。而且,在一些实施方案中,可在保留不同的软件发明的同时,将多个软件发明实现为更大程序的子部分。在一些实施方案中,还可将多个软件发明实现为单独程序。最后,共同实现本文所述的软件发明的单独程序的任何组合均在本发明的范围内。在一些实施方案中,当被安装以在一个或多个电子系统上运行时,软件程序定义执行和执行软件程序的操作的一个或多个特定机器具体实施。 A.移动设备 一些实施方案的应用程序在移动设备诸如智能电话(例如, 外围设备接口1215耦接到各种传感器和子系统,所述子系统包括照相机子系统1220、一个或多个有线通信子系统1223、一个或多个无线通信子系统1225、音频子系统1230、I/O子系统1235等。外围设备接口1215能够实现处理单元1205与各种外围设备之间的通信。例如,取向传感器1245(例如,陀螺仪)和加速度传感器1250(例如,加速度计)耦接到外围设备接口1215,以便促进取向和加速功能。 照相机子系统1220耦接到一个或多个光学传感器1240(例如,电荷耦合设备(CCD)光学传感器、互补金属氧化物半导体(CMOS)光学传感器等)。与光学传感器1240耦接的照相机子系统1220促进照相机功能,诸如图像和/或视频数据捕获。有线通信子系统1223和无线通信子系统1225用于促进通信功能。 在一些实施方案中,无线通信子系统1225包括射频接收器和发射器,以及光学接收器和发射器(图12中未示出)。一些实施方案的这些接收器和发射器被实现为通过一个或多个通信网络运行,所述通信网络诸如是GSM网络、Wi-Fi网络、蓝牙网络等。音频子系统1230耦接到扬声器以输出音频(例如,以输出语音导航指令)。另外,在一些实施方案中,音频子系统1230耦接到麦克风以促进支持语音的功能。 I/O子系统1235涉及输入/输出外围设备(诸如,显示器、触摸屏等)与处理单元1205的数据总线之间通过外围设备接口1215的传输。I/O子系统1235包括触摸屏控制器1255和其他输入控制器1260以促进输入/输出外围设备与处理单元1205的数据总线之间的传输。如图所示,触摸屏控制器1255耦接到触摸屏1265。触摸屏控制器1255使用多种触敏技术中的任一种来检测触摸屏1265上的接触和移动。其他输入控制器1260耦接到其他输入/控制设备,诸如一个或多个按钮。一些实施方案包括接近触敏屏幕和对应控制器,所述对应控制器可检测替代触摸交互或除触摸交互之外的接近触摸交互。 存储器接口1210耦接到存储器1270。在一些实施方案中,存储器1270包括易失性存储器(例如,高速随机存取存储器)、非易失性存储器(例如,闪存存储器)、易失性存储器和非易失性存储器的组合和/或任何其他类型的存储器。如图12所示,存储器1270存储操作系统(OS)1271。OS 1271包括用于处理基础系统服务以及用于执行硬件相关任务的指令。另外,存储器1270包括布局重排指令1272,以便设备1200执行一些实施方案的布局重排过程。在一些实施方案中,这些指令1272可以是操作系统指令1271的子组,或者可以是用于应用程序的指令的一部分。 存储器1270还包括:促进与一个或多个附加设备通信(例如,以便对等数据共享,或以通过互联网连接到服务器以便基于云端的数据共享)的通信指令1274;促进图形用户界面处理的图形用户界面指令1276;促进图像相关的处理和功能的图像处理指令1278;促进输入相关(例如,触摸输入)的过程和功能的输入处理指令1280;促进音频相关的过程和功能的音频处理指令1282;以及促进照相机相关的过程和功能的照相机指令1284。上述指令仅仅是示例性的,并且在一些实施方案中,存储器1270包括附加和/或其他指令。例如,用于智能电话的存储器可包括促进电话相关的过程和功能的电话指令。不需要将以上所识别的指令实现为单独软件程序或模块。可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中来实现移动计算设备的各种功能。 虽然图12所示的组件被示出为单独组件,但是本领域的普通技术人员将认识到,可将两个或更多个组件集成到一个或多个集成电路中。另外,两个或更多个组件可由一条或多条通信总线或信号线耦接在一起。而且,虽然已将许多功能描述为由一个组件执行,但是本领域的普通技术人员将认识到,可将相对于图12描述的功能拆分到两个或更多个集成电路中。 B.计算机系统 图13概念性地示出了实现本发明的一些实施方案所利用的电子系统1300的另一个实施例。电子系统1300可以是计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA或任何其他种类的电子或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统1300包括总线1305、一个或多个处理单元1310、图形处理单元(GPU)1315、系统存储器1320、网络1325、只读存储器1330、永久性存储设备1335、输入设备1340和输出设备1345。 总线1305总体表示以通信方式连接电子系统1300的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线1305将一个或多个处理单元1310与只读存储器1330、GPU1315、系统存储器1320和永久性存储设备1335以通信方式连接。 一个或多个处理单元1310从这些各种存储单元检索要执行的指令和要处理的数据,以便执行本发明的过程。在不同实施方案中,一个或多个处理单元可以是单个处理器或多核处理器。一些指令被传送到GPU 1315并且由该GPU执行。GPU 1315可卸载各种计算或补充由一个或多个处理单元1310提供的图像处理。在一些实施方案中,可使用CoreImage的内核着色语言来提供此类功能性。 只读存储器(ROM)1330存储一个或多个处理单元1310和电子系统的其他模块所需的静态数据和指令。另一方面,永久性存储设备1335是读写存储设备。该设备是即使在电子系统1300关闭时也能存储指令和数据的非易失性存储单元。本发明的一些实施方案使用海量存储设备(诸如,磁盘或光盘及其相应盘驱动器、集成式闪存存储器)作为永久性存储设备1335。 其他实施方案使用可移动存储设备(诸如,软盘、闪存存储器设备等,及其相应驱动器)作为永久性存储设备。与永久性存储设备1335一样,系统存储器1320也是读写存储设备。但是,与存储设备1335不同的是,系统存储器1320是易失性读写存储器,诸如随机存取存储器。系统存储器1320存储处理器运行时所需的指令和数据中的一些。在一些实施方案中,本发明的过程存储在系统存储器1320、永久性存储设备1335和/或只读存储器1330中。例如,各种存储单元包括用于根据一些实施方案处理多媒体剪辑的指令。一个或多个处理单元1310从这些各种存储单元检索要执行的指令和要处理的数据,以便执行一些实施方案的过程。 总线1305还连接到输入设备1340和输出设备1345。输入设备1340使得用户能够将信息传达到电子系统并且选择到电子系统的命令。输入设备1340包括字母数字键盘和指向设备(也称为“光标控制设备”)、摄像机(例如,网络摄像机)、麦克风或用于接收语音命令的类似设备等。输出设备1345显示由电子系统生成的图像或其他输出数据。输出设备1345包括打印机和显示设备诸如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出设备。一些实施方案包括同时用作输入设备和输出设备的设备,诸如触摸屏。 最后,如图13所示,总线1305还通过网络适配器(未示出)将电子系统1300耦接到网络1325。这样,计算机可以是计算机的网络(诸如,局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者可以是网络的网络(诸如,互联网)的一部分。电子系统1300的任何或所有组件均可与本发明一起使用。 一些实施方案包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子组件,诸如微处理器、存储装置和存储器。此类计算机可读介质的一些示例包括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设备中的软件。 如本说明书以及本专利申请的任何权利要求所用,术语“计算机”、“服务器”、“处理器”和“存储器”均是指电子或其他技术设备。这些术语不包括人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的可触摸的物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。 虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。此外,多个图(包括图2、图7和图10)概念性地示出了过程。这些过程的特定操作可不以所示出和所描述的确切顺序来执行。可不在一个连续的操作系列中执行这些特定操作,并且可在不同的实施方案中执行不同的特定操作。此外,该过程可使用多个子过程来实施,或者作为更大宏过程来实施。因此,本领域的普通技术人员将理解,本发明不受前述例示性细节的限制,而是将由所附权利要求书限定。 V.地图服务 各种实施方案可在地图服务操作环境内操作。图14示出了用于地图服务(也称为地图绘制服务)1430和客户端设备1402a-1402c的操作环境1400的一个可能实施方案。在一些实施方案中,设备1402a、1402b和1402c通过一个或多个有线或无线网络1410通信。例如,无线网络1410诸如蜂窝网络可通过使用网关1414与广域网(WAN)1420诸如互联网通信。在一些实施方案中,网关1414提供面向分组的移动数据服务诸如通用分组无线电服务(GPRS),或允许无线网络将数据传输到其他网络诸如广域网1420的其他移动数据服务。同样,接入设备1412(例如,IEEE 802.11g无线接入设备)提供对WAN 1420的通信接入。 客户端设备1402a和1402b可以是能够与地图服务通信的任何便携式电子或计算设备(例如,智能电话、平板电脑、膝上型计算机等)。设备1402c可以是能够与地图服务通信的任何非便携式电子或计算设备(例如,台式计算机等)。这些设备可以是具有各种功能(例如,拨打电话、发送电子消息、生成文档等)的多功能设备。尽管设备1402a-1402c未被示出为每个都经由无线网络1410和网关1414或者接入设备1412访问地图服务1430,但是本领域的普通技术人员将认识到,一些实施方案的客户端设备可经由多个不同的有线和/或无线协议访问地图服务。 设备1402a-1402c还可通过其他方式建立通信。例如,这些设备可通过无线网络1410或通过接入设备1412与其他无线设备(例如,其他设备1402b、移动电话等)通信。同样,移动设备1402a-1402c可通过使用一个或多个通信子系统诸如Bluetooth 设备1402a-1402c还可从全球定位卫星(GPS)1460接收GPS信号。另外,在一些实施方案中,地图服务1430和其他服务1450也可从GPS卫星1460接收GPS信号。 地图服务1430可为通过各种通信方法和协议与地图服务1430通信的一个或多个客户端设备1402a-1402c提供地图服务。在一些实施方案中,地图服务1430提供地图信息(例如,客户端设备用来生成二维或三维地图呈现的地图图块)和其他地图相关数据,诸如二维地图图像数据(例如,利用卫星影像的道路的航测图)、三维地图图像数据(例如,具有三维特征的可横穿地图,诸如建筑物)、路线和方向计算(例如,驾车路线数据、轮渡路线计算或两点之间的步行方向)、实时导航数据(例如,二维或三维形式的逐向可视导航数据)、交通数据、位置数据(例如,客户端设备当前所处的位置)以及其他地理数据(例如,无线网络覆盖、天气、交通信息或附近的兴趣点)。在各种实施方案中,地图服务数据可包括用于不同国家或地区的位置标签。可利用位置标签在客户端设备上以不同语言呈现地图标签(例如,街道名称、城市名称、兴趣点)。客户端设备1402a-1402c可利用这些地图服务来获得各种地图服务数据,然后实施各种技术来处理数据并将经处理的数据提供给各种实体(例如,内部软件或硬件模块、客户端设备的显示屏、外部显示屏或者其他外部系统或设备)。 一些实施方案的地图服务1430通过生成和分发上面所列的各种类型的地图服务数据来提供地图服务,包括客户端设备用来生成和显示地图呈现的地图信息。在一些实施方案中,地图信息包括一个或多个地图图块。地图图块可包括栅格图像数据(例如,bmp、gif、jpg/jpeg/、png、tiff等数据),用于作为地图呈现显示。在一些实施方案中,地图图块提供基于矢量的地图数据,其中使用矢量图形(例如,svg或drw数据)来编码地图呈现数据。地图图块还可包括有关地图的各种其他信息,诸如元数据。一些实施方案还将样式数据(例如,用于生成纹理)编码到地图图块中。客户端设备处理(例如,渲染)矢量和/或栅格图像数据以生成地图呈现,用于作为二维或三维地图呈现显示。为了将地图图块传输到客户端设备1402a-1402c,一些实施方案的地图服务1430执行各种优化技术以在编码地图图块之前对该图块进行分析。 在一些实施方案中,地图图块由地图服务1430针对客户端设备1402a-1402c处的不同可能的显示器分辨率而生成。在一些实施方案中,较高缩放级别可包括更多细节(例如,更多街道级别信息等)。另一方面,用于较低缩放级别的地图图块可省略某些数据(例如,当显示整个地球时不会使用街道级别细节)。 为了生成地图信息(例如,地图图块),地图服务1430可从内部或外部源获得地图服务数据。例如,可从外部服务或内部系统、存储设备或节点获得地图图像数据中所用的卫星影像。其他示例可包括但不限于GPS辅助服务器、无线网络覆盖数据库、企业或个人目录、天气数据、政府信息(例如,建设更新或道路名称变更)或交通报告。地图服务的一些实施方案可更新地图服务数据(例如,无线网络覆盖)以用于分析来自客户端设备的未来请求。 在一些实施方案中,地图服务1430响应来自客户端设备1402a-1402c的关于地图信息的请求。客户端设备可请求地图的特定部分或特定地图图块(例如,特定缩放级别的特定图块)。在一些实施方案中,客户端设备可向地图服务提供用于路线计算的开始位置(或当前位置)和目的地位置,并且请求逐向导航数据。客户端设备还可请求地图服务渲染信息,诸如地图纹理或样式表。对其他地理数据的请求可包括但不限于当前位置、无线网络覆盖、天气、交通信息或附近的兴趣点。 客户端设备1402a-1402c从地图服务1430获得地图服务数据并且渲染数据以在二维和/或三维视图中显示地图信息。一些实施方案显示所渲染的地图,并且允许用户、系统或设备提供输入以操纵地图的虚拟摄像机,从而根据虚拟摄像机的定位、取向和视场来改变地图显示。各种形式和输入设备被实现为操纵虚拟摄像机。在一些实施方案中,触摸输入通过某些单个或组合手势(例如,触摸和保持或者轻扫)来操纵虚拟摄像机。其他实施方案允许操纵设备的物理位置从而操纵虚拟摄像机。可使用客户端设备的其他输入设备,包括例如听觉输入(例如,说出词语)、物理键盘、鼠标和/或操纵杆。一些实施方案提供对虚拟摄像机操纵的各种视觉反馈,诸如在从二维地图视图过渡到三维地图视图时显示可能的虚拟摄像机操纵的动画。 在一些实施方案中,客户端设备1402a-1402c实施导航系统(例如,逐向导航),所述导航系统可以是集成的地图绘制和导航应用程序的一部分。导航系统提供可向用户显示的方向或路线信息。如上所述,客户端设备可从地图服务1430接收地图图像数据和路线数据。在一些实施方案中,客户端设备的导航特征部基于从地图服务和/或其他位置系统诸如全球定位卫星(GPS)系统接收到的位置信息和路线信息来提供实时路线和方向信息。客户端设备可显示反映客户端设备的当前位置的地图图像数据并实时更新该地图图像数据。导航特征部可提供听觉或视觉方向以遵循某一路线,并且一些实施方案在逐向导航期间从偏向路线目的地的虚拟摄像机的角度显示地图数据。 一些实施方案的客户端设备1402a-1402c实施各种技术以利用所接收的地图服务数据(例如,优化的渲染技术)。在一些实施方案中,客户端设备本地存储用于渲染地图数据的一些信息。例如,客户端设备可存储具有图像数据的渲染方向且包含样式标识符的样式表、公共图像纹理(以便减少从地图服务传输的地图图像数据的量)等。一些实施方案的客户端设备可实施各种技术以渲染二维和三维地图图像数据,包括例如从二维建筑物占地面积数据生成三维建筑物;对二维和三维地图对象建模以确定客户端设备通信环境;生成模型以确定从某个虚拟摄像机位置是否可看到地图标签;以及生成模型以在地图图像数据之间顺利转换。 在各种实施方案中,地图服务1430和/或其他服务1450被配置为处理来自任何客户端设备的搜索请求。搜索请求可包括但不限于对企业、地址、住宅位置、兴趣点或它们的一些组合的查询。地图服务1430和/或其他服务1450可被配置为返回与多个参数相关的结果,这些参数包括但不限于输入到地址栏或其他文本输入字段中的位置(包括缩写和/或其他速记符号)、当前地图视图(例如,用户可在位于一个位置时在多功能设备上查看另一位置)、用户的当前位置(例如,在当前地图视图不包括搜索结果的情况下)和当前路线(如果有的话)。在各种实施方案中,基于不同的优先级权重,这些参数可影响搜索结果的组成(和/或搜索结果的排序)。在各种实施方案中,返回的搜索结果可以是基于特定准则而选择的结果的子组,所述特定准则包括但不限于搜索结果(例如,特定的兴趣点)被请求的次数、对与搜索结果相关联的质量的衡量(例如,最高用户或编辑评论评级)和/或搜索结果的评论量(例如,搜索结果被评论或评级的次数)。 在各种实施方案中,地图服务1430和/或其他服务1450被配置为提供自动完成的搜索结果,这些搜索结果显示在客户端设备上,诸如在地图绘制应用程序内。例如,当用户在多功能设备上输入一个或多个搜索关键字时,自动完成的搜索结果可填充屏幕的一部分。在一些情况下,这一特征可节省用户时间,因为期望的搜索结果可在用户输入完整的搜索查询之前就被显示。在各种实施方案中,自动完成的搜索结果可以是客户端在客户端设备上找到的搜索结果(例如,书签或联系人)、地图服务1430和/或其他服务1450在其他地方(例如,从互联网)找到的搜索结果和/或它们的一些组合。与命令的情况一样,用户可经由语音或通过键入来输入任何搜索查询。多功能设备可被配置为在本文所述的任何地图显示内以图形方式显示搜索结果。例如,针状或其他图形指示符可将搜索结果的位置指示为兴趣点。在各种实施方案中,响应于用户对这些兴趣点中的一者的选择(例如,触摸选择,诸如轻击),多功能设备被配置为显示关于所选兴趣点的附加信息,包括但不限于评级、评论或评论片段、操作时长、存储状态(例如,开始营业、永久性关闭等)和/或兴趣点的店面图像。在各种实施方案中,任何该信息可显示在响应于用户对兴趣点的选择而显示的图形信息卡上。 在各种实施方案中,地图服务1430和/或其他服务1450提供一个或多个反馈机制以从客户端设备1402a-1402c接收反馈。例如,客户端设备可向地图服务1430和/或其他服务1450提供关于搜索结果的反馈(例如,指定评级、评论、暂时或永久企业歇业、错误等的反馈),可使用这种反馈来更新关于兴趣点的信息,以便将来提供更准确或更新的搜索结果。在一些实施方案中,地图服务1430和/或其他服务1450可向客户端设备提供测试信息(例如,A/B测试),以确定哪个搜索结果是最佳的。例如,客户端设备可以随机时间间隔接收两个搜索结果并将该两个结果呈现给用户,并且允许用户指示最佳结果。客户端设备可基于所选测试技术向地图服务1430和/或其他服务1450报告测试结果以改进未来的搜索结果,所述测试技术是诸如A/B测试技术,其中将基线控制样本与各种单变量测试样本进行比较以便改进结果。 虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。例如,许多图示出了各种触摸手势。然而,所示出的操作中的许多操作可经由不同触摸手势(例如,轻扫而非轻击等)或通过非触摸输入(例如,使用光标控制器、键盘、触摸板/触控板、接近触敏屏幕等)来执行。另外,许多图概念性地示出了过程。这些过程的特定操作可不以所示出和所描述的确切顺序来执行。可不在一个连续的操作系列中执行这些特定操作,并且可在不同的实施方案中执行不同的特定操作。此外,该过程可使用多个子过程来实施,或者作为更大宏过程来实施。本领域的普通技术人员将理解,本发明不受前述例示性细节的限制,而是将由所附权利要求书限定。
- 基于频率的通行行程表征
- 基于频率的通行行程表征