沿途搜尋總覽
沿途搜尋功能可在下列 Places (新版) API 中使用:
- 僅限 Text Search (新版):搜尋沿著預先定義的旅遊路線的地點。
- Text Search (新版) 和 Nearby Search (新版):計算從指定路線起點到搜尋結果中每個地點的路線摘要。
- 僅限文字搜尋 (新):計算沿著預先定義的旅遊路線,每個地點的路線摘要。
沿著路線搜尋
使用 Routes API 計算行程路線 兩個位置之間的連線Routes API 可計算汽車、自行車、雙輪車、大眾運輸系統或步行路線。
Text Search (新版) 可讓您使用此計算的路線,執行 沿路線搜尋。使用這個選項時,您可以將預先計算的路線從 Routes API 傳遞至 Text Search (新版) 要求。回應會包含 符合搜尋條件,且位於指定地點附近 路徑。
沿路線搜尋與使用 locationRestriction
或
locationBias
要求選項,用於調整搜尋結果。locationRestriction
會傳回位於可視區域邊界內的搜尋結果,而 locationBias
可能會傳回位於可視區域外的搜尋結果。不過,雖然 locationBias
和 locationRestriction
選項可讓您指定偏好區域,以便偏重搜尋結果,但 Text Search 的沿路搜尋功能也能讓您偏重搜尋結果,以便納入從路線起點到路線目的地的最短繞路時間。您可以使用
locationBias
或 locationRestriction
,結合折線。
舉例來說,請考慮從起點 (在 Routes API 中稱為路線控點) 到 Routes API 計算的目的地之間的路線:
沿路搜尋時,搜尋結果會偏向沿路附近的地點,並盡量縮短從起點到目的地的繞路時間。在本 例如點 A、B 和 C 點是搜尋傳回的地點。
計算路由摘要
Text Search (新版) 和 Nearby Search (新版) 可以 計算路由摘要,也就是每個 加入回應中的指定路由起點位置 請求。指定路線起點後,回應中不僅會列出符合搜尋條件的地點,還會列出從路線起點到各個地點的時間和距離。
在下圖中,搜尋會傳回 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 (新版) 搜尋結果中傳回的地點。對於回應中的每個位置,搜尋會包含持續時間 和距離該地點需要的兩段路:
- 第一個路段包含從路線到終點的交通所需時間和距離 origin 到 place。在本例中,從起點到地點 A。
- 第二段則包含從地點到路線目的地的旅遊時間和距離。在本例中,從 A 到目的地。
您可以根據回應中的資訊計算繞路時間和距離,其中:
- \(t_{OD}\) 是從起點到目的地的行程所需時間。 \(s_{OD}\) 是從起點到目的地的行程距離
- \(t_{OA}\) 是從起點到 A 的行程時間; \(s_{OA}\) 是從起點到 A 的行程距離
- \(t_{AD}\) 是從 A 到目的地的行程所需時間; \(s_{AD}\) 是從 A 到目的地的行程距離
繞道時間長度是指原始行程之間的時間長度差異。 (從起點到目的地) 以及新行程 (從起點到 目的地「透過」:
繞路距離是指原始行程 (從起點到目的地) 和新行程 (從起點到目的地經過 A) 之間的距離差異: