沿路线搜索概览
以下地点 (New) API 提供了沿路搜索功能:
- 仅限文本搜索(新版):搜索预定义行程路线沿途的地点。
- 文本搜索(新)和附近搜索(新):计算路线 从指定路由起点位置到搜索中每个地点的摘要 结果。
- 仅限文本搜索(新):计算预定义行程路线沿途每个地点的路线摘要。
沿路线搜索
您可以使用 Routes API 计算两个地点之间的行程路线。Routes API 可以计算驾车、骑行 例如两轮车、公交系统或步行。
借助文本搜索(新),您可以使用此计算路线执行沿路搜索。使用此选项时,您可以将从 Routes API 预计算的路线传递给文本搜索(新版)请求。然后,响应中包含 这些地方符合搜索条件,并且位于指定的 。
沿路线搜索类似于使用 locationRestriction
或 locationBias
请求选项来偏向搜索结果。locationRestriction
用于返回位于视口边界内的搜索结果,而
locationBias
可能会返回视口之外的搜索结果。不过,虽然
locationBias
和 locationRestriction
选项用于指定
自定义调整搜索结果,“文本搜索”中的路线搜索功能还可
您可以调整搜索结果,使其包含离
从路线出发地到路线目的地。您可以将 locationBias
或 locationRestriction
与多段线结合使用,以偏向搜索结果。
例如,考虑从起点出发的路线,该路线称为 (路线)中的航点,根据路线计算出的目的地 API:
当您沿路线搜索时,搜索偏向于返回 从起点到终点的绕行时间最短的路线。在此示例中,点 A、B 和 C 是搜索返回的地点。
计算路由摘要
文本搜索(新)和附近搜索(新)可以 计算每个路线的路线摘要,即路线的 并将根据在响应中指定的路由出发地 请求。当您指定路由来源时,响应不仅包含 包含与搜索条件匹配的地点列表,以及行程时长和距离 从路由源站到各个位置。
在下图中,A、B 和 C 点是搜索中返回的地点 回答:
对于结果中的每个地点,响应中都包含从路线起点到该地点的旅行时长和距离(如果有)。
默认情况下,行程时长和距离使用 TRAFFIC_UNAWARE
计算
选项。您可以选择设置路线偏好设置,以便在计算时考虑实时路况信息 TRAFFIC_AWARE_OPTIMAL
或延迟时间缩短的实时路况信息 TRAFFIC_AWARE
。
关于路线、路程和航点
由 Routes API 计算出的路线由多个组成部分组成:
路由由以下组件组成:
- 航点:要计算路线,您至少需要指定 出发地和目的地您可以将这些位置定义为路线上的路径点。中间航点是您希望路线经过的起点和目的地之间的地点。
-
路线:从起始航点经由任何中间航点到达目的地航点的整个行程。路线由一个或多个路程组成。
将路线传递给文本搜索时,您需要传递 Routes API 返回的路线的编码多段线。经过编码的 折线是经过编码的纬度和经度点列表,可让您表示 以字符串表示路线的多段线。
-
航段:路线中从一个航点到下一个航点的路径。每一段都由一个或多个离散的步骤组成。
路线包含从每个航点到下一个航点的路径的单独路程。 例如,如果路线包含单个起点航点和单个目的地航点,则路线包含单个航段。
对于您在路线中 目的地(称为中间航点),API 会添加单独的路程。
如需详细了解路由以及如何计算路由,请参阅路由 API。
通过沿路线搜索计算路线摘要
您可以将“路由摘要”计算与“沿路线搜索”结合使用。 在这种情况下,文本搜索(新)会返回行程时长, 以及从每个地点到最终地点的距离 路线的目的地。可以将这一计算视为提供 持续时间和距离(如果从指定路线绕行到某地区) 放置到搜索结果中,然后继续前往最终目的地。
例如,请考虑由 Routes API 计算的以下从起点到目的地的路线。将此路线与文本搜索(新)API 一起传递 与您的搜索条件一同生成
在此示例中,位置 A 是来自 Text 的搜索结果中返回的地点 搜索(新)。对于响应中的每个地点,搜索条件包括时长 以及绕行到该地点所需的两段行程距离:
- 第一段包含从路线起点到地点的旅行时长和距离。在本示例中,从源站到 地点 A。
- 第二段包含从地点到路线目的地的旅行时长和距离。在此示例中,从 A 到 目标。
根据响应中的信息,您就可以计算出绕行时间 时长和距离,其中:
- \(t_{OD}\) 是从出发地到目的地的行程时长。 \(s_{OD}\) 是从出发地到目的地的行程距离
- \(t_{OA}\) 是从起点到 A 的行程时长; \(s_{OA}\) 是从起点到 A 的行程距离
- \(t_{AD}\) 是从 A 到目的地的行程时长; \(s_{AD}\) 是从 A 到目的地的行程距离
绕行时长是指原始行程之间的时长差异 (从出发地到目的地)和新的行程(从出发地到 目标页面 A):
绕道距离是原行程(从起点到终点)与新行程(从起点到终点经由 A)之间的距离差异: