沿途搜尋總覽

沿途搜尋功能可在下列 Places (新版) API 中使用:

  • 僅限 Text Search (新版):搜尋沿著預先定義的旅遊路線的地點。
  • Text Search (新版) 和 Nearby Search (新版):計算從指定路線起點到搜尋結果中每個地點的路線摘要。
  • 僅限文字搜尋 (新):計算沿著預先定義的旅遊路線,每個地點的路線摘要。

沿著路線搜尋

使用 Routes API 計算行程路線 兩個位置之間的連線Routes API 可計算汽車、自行車、雙輪車、大眾運輸系統或步行路線。

Text Search (新版) 可讓您使用此計算的路線,執行 沿路線搜尋。使用這個選項時,您可以將預先計算的路線從 Routes API 傳遞至 Text Search (新版) 要求。回應會包含 符合搜尋條件,且位於指定地點附近 路徑。

沿路線搜尋與使用 locationRestrictionlocationBias 要求選項,用於調整搜尋結果。locationRestriction 會傳回位於可視區域邊界內的搜尋結果,而 locationBias 可能會傳回位於可視區域外的搜尋結果。不過,雖然 locationBiaslocationRestriction 選項可讓您指定偏好區域,以便偏重搜尋結果,但 Text Search 的沿路搜尋功能也能讓您偏重搜尋結果,以便納入從路線起點到路線目的地的最短繞路時間。您可以使用 locationBiaslocationRestriction,結合折線。

舉例來說,請考慮從起點 (在 Routes API 中稱為路線控點) 到 Routes API 計算的目的地之間的路線:

從起點路點到目的地的路徑 (包含搜尋結果)。

沿路搜尋時,搜尋結果會偏向沿路附近的地點,並盡量縮短從起點到目的地的繞路時間。在本 例如點 A、B 和 C 點是搜尋傳回的地點。

計算路由摘要

Text Search (新版)Nearby Search (新版) 可以 計算路由摘要,也就是每個 加入回應中的指定路由起點位置 請求。指定路線起點後,回應中不僅會列出符合搜尋條件的地點,還會列出從路線起點到各個地點的時間和距離。

在下圖中,搜尋會傳回 A、B 和 C 點。 回應:

點 A、B 和 C 是搜尋回應中傳回的地點。

對於結果中的每個地點,回應會包含從路線起點到該地點的車程時間和距離 (如有)。

根據預設,系統會使用 Routes API 中的 TRAFFIC_UNAWARE 選項計算行程時間和距離。您可以選擇設定轉送偏好設定 即時路況 TRAFFIC_AWARE_OPTIMAL 或因延遲而減少的即時路況TRAFFIC_AWARE 都會列入考量

關於路線、路段和路線控點

路徑是由 Routes API 計算的幾個元件組成:

構成路徑的元件。

路徑由以下元件組成:

  • 路線控點:如要計算路線,您至少必須指定起點和目的地的位置。您可以在 GCP 上將這些位置定義為路線控點 這個路徑中級路線控點是指起點和終點之間的位置 做為路徑使用的目的地
  • 路線:從起點路線控點開始,經過任何中繼路線控點,到達目的地路線控點的整個行程。路徑包含 或多段

    將路線傳送至 Text Search 時,您會傳遞 Routes API 傳回的路線編碼後的折線。編碼 折線是經緯度點的編碼清單, 可讓您代表 路線的折線,以字串表示。

  • 腿部:從一個路線點到下一個路線控點的路徑 路徑。每個航段都包含一或多個獨立的步驟

    路線包含從每個路點到下一個路線的獨立路段。 舉例來說,如果路線包含單一起點路標和單一目的地路標,則路線就包含單一航段。

    對於您在起點和目的地後新增至路線的每個額外路標 (稱為「中繼」路標),API 都會新增個別路段。

如要進一步瞭解路線和計算路徑,請參閱路徑 API

使用沿路搜尋功能計算路線摘要

您可以將「轉送摘要」計算與「沿路線搜尋」結合使用。 在這種情況下,Text Search (New) 會傳回行程所需時間和 回應中每個位置的距離,然後再從每個位置到最終 目的地的目的地您可以將這項計算視為提供的交通時間和距離,假設您從指定路線繞道前往搜尋結果中的地點,然後繼續前往最終目的地。

舉例來說,請考慮以下由 Routes API 計算的路線,從起點前往目的地。將此路徑與搜尋條件一併傳送至 Text Search (新版) API。

從起點路標到目的地的路線,並繞道至搜尋結果。

在本例中,位置 A 是 Text Search (新版) 搜尋結果中傳回的地點。對於回應中的每個位置,搜尋會包含持續時間 和距離該地點需要的兩段路

  • 第一個路段包含從路線到終點的交通所需時間和距離 originplace。在本例中,從起點到地點 A。
  • 第二段則包含從地點到路線目的地的旅遊時間和距離。在本例中,從 A 到目的地。

您可以根據回應中的資訊計算繞路時間和距離,其中:

  • \(t_{OD}\) 是從起點到目的地的行程所需時間。 \(s_{OD}\) 是從起點到目的地的行程距離
  • \(t_{OA}\) 是從起點到 A 的行程時間; \(s_{OA}\) 是從起點到 A 的行程距離
  • \(t_{AD}\) 是從 A 到目的地的行程所需時間; \(s_{AD}\) 是從 A 到目的地的行程距離

繞道時間長度是指原始行程之間的時間長度差異。 (從起點到目的地) 以及新行程 (從起點到 目的地「透過」

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

繞路距離是指原始行程 (從起點到目的地) 和新行程 (從起點到目的地經過 A) 之間的距離差異

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$