Package google.maps.routes.v1

索引

RoutesPreferred

Routes Preferred API。

ComputeCustomRoutes

rpc ComputeCustomRoutes(ComputeCustomRoutesRequest) returns (ComputeCustomRoutesResponse)

指定一組終點和中途停靠點,以及路線目標,然後計算出符合路線目標的最佳路線。也會傳回最快路線和最短路線做為參考路線。

注意:這個方法需要您在輸入內容中指定回應欄位遮罩。您可以使用網址參數 $fields 或 fields,或使用 HTTP/gRPC 標頭 X-Goog-FieldMask 提供回應欄位遮罩 (請參閱可用的網址參數和標頭)。值是以半形逗號分隔的欄位路徑清單。如需詳細瞭解如何建構欄位路徑,請參閱這份說明文件。

舉例來說,在這個方法中:

  • 所有可用欄位的欄位遮罩 (供手動檢查):X-Goog-FieldMask: *
  • 路線距離、時間、代幣和通行費資訊的欄位遮罩:X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

Google 不建議使用萬用字元 (*) 回應欄位遮罩,或在頂層指定欄位遮罩 (routes),原因如下:

  • 只選取所需欄位有助於伺服器節省運算週期,讓我們能以較低的延遲時間將結果傳回給您。
  • 在實際執行作業中只選取所需欄位,可確保延遲效能穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果您選取所有欄位,或選取頂層的所有欄位,系統可能會自動在回應中加入我們新增的欄位,導致效能降低。
  • 只選取需要的欄位可縮小回應大小,進而提高網路輸送量。
授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

詳情請參閱「OAuth 2.0 總覽」。

ComputeRouteMatrix

rpc ComputeRouteMatrix(ComputeRouteMatrixRequest) returns (RouteMatrixElement)

接收起點和目的地清單,並傳回包含每個起點和目的地組合路線資訊的串流。

注意:這個方法需要您在輸入內容中指定回應欄位遮罩。您可以使用網址參數 $fields 或 fields,或使用 HTTP/gRPC 標頭 X-Goog-FieldMask 提供回應欄位遮罩 (請參閱可用的網址參數和標頭)。值是以半形逗號分隔的欄位路徑清單。如需詳細瞭解如何建構欄位路徑,請參閱這份說明文件。

舉例來說,在這個方法中:

  • 所有可用欄位的欄位遮罩 (供手動檢查):X-Goog-FieldMask: *
  • 路徑時間、距離、元素狀態、條件和元素索引的欄位遮罩 (正式環境設定範例):X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

請務必在欄位遮罩中加入 status,否則所有訊息都會顯示為正常。Google 不建議使用萬用字元 (*) 回應欄位遮罩,原因如下:

  • 只選取所需欄位有助於伺服器節省運算週期,讓我們能以較低的延遲時間將結果傳回給您。
  • 在實際執行作業中只選取所需欄位,可確保延遲效能穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果您選取所有欄位,或選取頂層的所有欄位,系統可能會自動在回應中加入我們新增的欄位,導致效能降低。
  • 只選取需要的欄位可縮小回應大小,進而提高網路輸送量。
授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

詳情請參閱「OAuth 2.0 總覽」。

ComputeRoutes

rpc ComputeRoutes(ComputeRoutesRequest) returns (ComputeRoutesResponse)

指定一組終點和中途路線控點,即可傳回主要路線和選用的替代路線。

注意:這個方法需要您在輸入內容中指定回應欄位遮罩。你可以使用網址參數 $fields 或 fields,或使用 HTTP/gRPC 標頭 X-Goog-FieldMask 提供回應欄位遮罩 (請參閱可用的網址參數和標頭)。值是以半形逗號分隔的欄位路徑清單。請參閱如何建構欄位路徑的詳細說明文件。

舉例來說,在這個方法中:

  • 所有可用欄位的欄位遮罩 (供手動檢查):X-Goog-FieldMask: *
  • 路線層級時間、距離和折線的欄位遮罩 (正式環境設定範例):X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google 不建議使用萬用字元 (*) 回應欄位遮罩,或在頂層指定欄位遮罩 (routes),原因如下:

  • 只選取所需欄位有助於伺服器節省運算週期,讓我們能以較低的延遲時間將結果傳回給您。
  • 在實際執行作業中只選取所需欄位,可確保延遲效能穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果您選取所有欄位,或選取頂層的所有欄位,系統可能會自動在回應中加入我們新增的欄位,導致效能降低。
  • 只選取需要的欄位可縮小回應大小,進而提高網路輸送量。
授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

詳情請參閱「OAuth 2.0 總覽」。

ComputeCustomRoutesRequest

ComputeCustomRoutes 要求訊息。

欄位
origin

Waypoint

必填。起點航點。

destination

Waypoint

必填。目的地路線控點。

intermediates[]

Waypoint

(選用步驟) 路線上的一組路線控點 (不含終點),可停靠或經過。最多可新增 25 個中途停靠點。

travel_mode

RouteTravelMode

(選用步驟) 指定交通方式。系統僅支援 DRIVE 和「TWO_WHEELER」。

routing_preference

RoutingPreference

(選用步驟) 指定如何計算路線。伺服器會嘗試使用所選的路線偏好設定計算路線。如果路由偏好設定導致錯誤或延遲時間過長,系統就會傳回錯誤。只有在 travel_mode 為 DRIVE 或 TWO_WHEELER 時,才能指定這個選項,否則要求會失敗。

polyline_quality

PolylineQuality

(選用步驟) 指定折線品質的偏好設定。

polyline_encoding

PolylineEncoding

(選用步驟) 指定折線的偏好編碼方式。

departure_time

Timestamp

(選用步驟) 出發時間。如未設定這個值,系統會將這個值預設為您提出要求的時間。如果將這個值設為已發生的時間,要求就會失敗。

route_modifiers

RouteModifiers

(選用步驟) 一組要滿足的條件,會影響路線的計算方式。

route_objective

RouteObjective

必填。要進行最佳化調整的路線目標。

language_code

string

(選用步驟) BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱「Unicode 語言代碼」。如需支援語言清單,請參閱「語言支援」。如未提供這個值,系統會根據路線要求的地點推斷顯示語言。

units

Units

(選用步驟) 指定顯示欄位的測量單位。這包括 NavigationInstruction 中的 instruction 欄位。路線、路段、步距和時間長度所用的度量單位不會受到這個值影響。如未提供這個值,系統會根據要求位置推斷顯示單位。

ComputeCustomRoutesResponse

ComputeCustomRoutes 回應訊息。

欄位
routes[]

CustomRoute

輸入路線目標的「最佳」路線。

fastest_route

CustomRoute

最快的參考路線。

shortest_route

CustomRoute

最短的參考路線。

fallback_info

FallbackInfo

自訂路徑的備用資訊。

FallbackInfo

封裝 ComputeCustomRoutes 的備用資訊。ComputeCustomRoutes 會執行兩種備援:

  1. 如果無法使用顧客要求的 routing_preference 計算路線,系統會改用其他路線模式。在本例中,fallback_routing_mode 和 routing_mode_fallback_reason 用於傳達使用的備援路徑模式,以及備援原因。

  2. 如果無法為顧客指定的路線目標計算「最佳」路線,系統可能會改用其他目標。fallback_route_objective 用於傳達備用路徑目標。

欄位
routing_mode

FallbackRoutingMode

生成回覆時使用的路徑模式。如果觸發備援,模式可能與原始用戶端要求中設定的路線偏好不同。

routing_mode_reason

FallbackReason

系統使用備用回覆而非原始回覆的原因。只有在觸發備用模式並傳回備用回應時,系統才會填入這個欄位。

route_objective

FallbackRouteObjective

生成回覆時使用的路線目標。如果觸發了備援,目標可能與原始用戶端要求中提供的路線目標不同。

FallbackRouteObjective

用於回覆的 RouteObjective。

列舉
FALLBACK_ROUTE_OBJECTIVE_UNSPECIFIED 未指定備用路徑目標。
FALLBACK_RATECARD_WITHOUT_TOLL_PRICE_DATA 如果顧客要求 RateCard 並將 include_tolls 設為 true,但 Google 沒有路線的通行費價格資料,API 會改為傳回 RateCard,且不考慮通行費價格。

ComputeRouteMatrixRequest

ComputeRouteMatrix 要求訊息

欄位
origins[]

RouteMatrixOrigin

必填。來源陣列,用於決定回應矩陣的資料列。來源和目的地的基數有幾項大小限制:

  • 在任何情況下,元素 (來源 × 目的地) 數量不得超過 625 個。
  • 如果 routing_preference 設為 TRAFFIC_AWARE_OPTIMAL,元素 (起點 × 目的地) 數量不得超過 100 個。
  • 指定為 place_id 的路線控點 (起點 + 目的地) 數量不得超過 50 個。
destinations[]

RouteMatrixDestination

必填。目的地陣列,決定回應矩陣的資料欄。

travel_mode

RouteTravelMode

(選用步驟) 指定交通方式。

routing_preference

RoutingPreference

(選用步驟) 指定如何計算路線。伺服器會嘗試使用所選的路線偏好設定計算路線。如果路由偏好設定導致錯誤或延遲時間過長,系統會傳回錯誤。只有在 travel_mode 為 DRIVE 或 TWO_WHEELER 時,才能指定這個選項,否則要求會失敗。

departure_time

Timestamp

(選用步驟) 出發時間。如未設定這個值,系統會預設為您提出要求的時間。如果將這個值設為已發生的時間,要求就會失敗。

ComputeRoutesRequest

ComputeRoutes 要求訊息。

欄位
origin

Waypoint

必填。起點航點。

destination

Waypoint

必填。目的地路線控點。

intermediates[]

Waypoint

(選用步驟) 路線上的一組路線控點 (不含終點),可停靠或經過。最多可新增 25 個中途停靠點。

travel_mode

RouteTravelMode

(選用步驟) 指定交通方式。

routing_preference

RoutingPreference

(選用步驟) 指定如何計算路線。伺服器會嘗試使用所選的路線偏好設定計算路線。如果路由偏好設定導致錯誤或延遲時間過長,系統就會傳回錯誤。只有在 travel_mode 為 DRIVE 或 TWO_WHEELER 時,才能指定這個選項,否則要求會失敗。

polyline_quality

PolylineQuality

(選用步驟) 指定折線品質的偏好設定。

polyline_encoding

PolylineEncoding

(選用步驟) 指定折線的偏好編碼方式。

departure_time

Timestamp

(選用步驟) 出發時間。如未設定這個值,系統會將這個值預設為您提出要求的時間。如果將這個值設為已發生的時間,要求就會失敗。

compute_alternative_routes

bool

(選用步驟) 指定是否要計算替代路線。如果要求包含中繼路線控點,系統不會傳回替代路線。

route_modifiers

RouteModifiers

(選用步驟) 一組要滿足的條件,會影響路線的計算方式。

language_code

string

(選用步驟) BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱「Unicode 語言代碼」。如需支援語言清單,請參閱「語言支援」。如未提供這個值,系統會根據路線要求的地點推斷顯示語言。

units

Units

(選用步驟) 指定顯示欄位的測量單位。這包括 NavigationInstruction 中的 instruction 欄位。路線、路段、步距和時間長度所用的度量單位不會受到這個值影響。如未提供這個值,系統會根據要求位置推斷顯示單位。

optimize_waypoint_order

bool

如果 optimizeWaypointOrder 設為 true,系統會嘗試重新排序指定的中間停靠點,盡量降低路線的整體成本。如果任何中途路線控點是透過路線控點,要求就會失敗。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 尋找新的排序方式。如果 routes.optimized_intermediate_waypoint_index 未在 X-Goog-FieldMask 標頭中要求,要求就會失敗。如果 optimize_waypoint_order 設為 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 會是空白。

ComputeRoutesResponse

ComputeRoutes 回覆訊息。

欄位
routes[]

Route

如果您指定 compute_alternatives_routes,這個陣列最多會包含三條計算出的路線;如果您未指定,則只會包含一條路線。如果這個陣列包含多個項目,第一個項目就是最建議的路線。如果陣列為空白,表示系統找不到路線。

fallback_info

FallbackInfo

有時伺服器無法根據所有輸入偏好設定計算路線結果,可能會改用其他計算方式。使用備援模式時,這個欄位會包含備援回覆的詳細資訊。否則這個欄位不會設定。

CustomRoute

封裝根據顧客指定的路線目標計算出的自訂路線。CustomRoute 包含路線和路線權杖,可傳遞至 NavSDK,重建自訂路線以進行逐步導航。

欄位
route

Route

系統會根據輸入路徑目標,判斷出「最佳」路徑。

token

string

具網路安全性的 Base64 編碼路徑權杖,可傳遞至 NavSDK,讓 NavSDK 在導航期間重建路徑,並在呼叫 RoutesPreferred ComputeCustomRoutes 時,於重新規劃路徑時遵守原始意圖。顧客應將這個權杖視為不透明的 Blob。

FallbackInfo

與系統使用備用結果的方式和原因相關的資訊。如果設定這個欄位,表示伺服器使用的路徑模式與偏好模式不同,因此改用備援模式。

欄位
routing_mode

FallbackRoutingMode

生成回覆時使用的路徑模式。如果觸發備援,模式可能與原始用戶端要求中設定的路線偏好不同。

reason

FallbackReason

系統使用備用回覆而非原始回覆的原因。只有在觸發備用模式並傳回備用回應時,系統才會填入這個欄位。

FallbackReason

使用備用回覆的原因。

列舉
FALLBACK_REASON_UNSPECIFIED 未指定備援原因。
SERVER_ERROR 以偏好的路徑模式計算路線時發生伺服器錯誤,但我們已改用其他模式計算,並傳回結果。
LATENCY_EXCEEDED 我們無法及時以偏好的路徑模式完成計算,但已使用替代模式計算出結果。

FallbackRoutingMode

用於傳回備用回覆的實際路由模式。

列舉
FALLBACK_ROUTING_MODE_UNSPECIFIED 未使用。
FALLBACK_TRAFFIC_UNAWARE 表示系統使用 TRAFFIC_UNAWARE 路由模式計算回應。
FALLBACK_TRAFFIC_AWARE 表示系統使用 TRAFFIC_AWARE 路由模式計算回應。

位置

封裝位置 (地理位置點和選填的方位)。

欄位
lat_lng

LatLng

航點的地理座標。

heading

Int32Value

與車流方向相關的羅盤方位。這個值會指定上車和下車時要使用的道路側。航向值可以介於 0 到 360 之間,其中 0 代表正北方的航向,90 代表正東方的航向,依此類推。這個欄位只能用於 DRIVE 和 TWO_WHEELER 交通方式。

Maneuver

一組值,指定目前步驟要採取的導覽動作 (例如左轉、併入車道或直行)。

列舉
MANEUVER_UNSPECIFIED 未使用。
TURN_SLIGHT_LEFT 稍微向左轉。
TURN_SHARP_LEFT 向左急轉。
UTURN_LEFT 向左迴轉。
TURN_LEFT 向左轉。
TURN_SLIGHT_RIGHT 稍微向右轉。
TURN_SHARP_RIGHT 向右急轉。
UTURN_RIGHT 向右迴轉。
TURN_RIGHT 向右轉。
STRAIGHT 直走。
RAMP_LEFT 走左側匝道。
RAMP_RIGHT 走右側匝道。
MERGE 匯入流量。
FORK_LEFT 走左側岔路。
FORK_RIGHT 走右側岔路。
FERRY 搭乘渡輪。
FERRY_TRAIN 搭乘火車前往渡輪。
ROUNDABOUT_LEFT 在圓環處左轉。
ROUNDABOUT_RIGHT 在圓環處右轉。
DEPART 初始動作。
NAME_CHANGE 用於表示街道名稱變更。
DESTINATION 用於表示抵達目的地。
欄位
maneuver

Maneuver

封裝目前步驟的導航指示 (例如左轉、併入或直行)。這個欄位會決定要顯示哪個圖示。

instructions

string

這個步驟的操作說明。

折線

封裝編碼折線。

欄位
聯集欄位 polyline_type。封裝折線類型。預設為 encoded_polyline。polyline_type 只能是下列其中一項:
encoded_polyline

string

使用折線編碼演算法編碼的折線字串。

geo_json_linestring

Struct

使用 GeoJSON LineString 格式指定折線。

PolylineEncoding

指定要傳回的折線偏好類型。

列舉
POLYLINE_ENCODING_UNSPECIFIED 未指定折線類型偏好設定。預設值為 ENCODED_POLYLINE。
ENCODED_POLYLINE 指定使用折線編碼演算法編碼的折線。
GEO_JSON_LINESTRING 使用 GeoJSON LineString 格式指定折線。

PolylineQuality

一組指定折線品質的值。

列舉
POLYLINE_QUALITY_UNSPECIFIED 未指定折線品質偏好設定。預設值為 OVERVIEW。
HIGH_QUALITY 指定高品質折線,這類折線是由比 OVERVIEW 更多的點組成,但會增加回應大小。需要更精確的值時,請使用這個值。
OVERVIEW 指定概覽折線,這條折線是由少數幾個點組成。顯示路線總覽時,請使用這個值。相較於使用 HIGH_QUALITY 選項,這個選項的要求延遲時間較短。

路線

封裝路線,其中包含一系列相連的路段,可連接起點、終點和中途路線控點。

欄位
legs[]

RouteLeg

路線是由多個路段 (路線控點之間的路線區段) 組成。每個路段都對應兩個非 via 路線控點之間的行程。舉例來說,如果路線沒有中繼路線控點,就只會有一個路段。如果路線包含一個非 via 的中途路線控點,則會有兩個路段。如果路線包含一個 via 中間路線控點,則只有一個路段。路段順序與路線控點順序一致,從 origin 到 intermediates 再到 destination。

distance_meters

int32

路線的移動距離 (以公尺為單位)。

duration

Duration

導覽路線所需的時間長度。如果將 routing_preference 設為 TRAFFIC_UNAWARE,這個值就會與 static_duration 相同。如果將 routing_preference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

static_duration

Duration

不考慮路況的路線行車時間。

polyline

Polyline

整體路線的折線。這條折線是所有 legs 的合併折線。

description

string

路線說明。

warnings[]

string

顯示路線時要顯示的警告陣列。

viewport

Viewport

折線的可視區域定界框。

travel_advisory

RouteTravelAdvisory

路線的其他資訊。

optimized_intermediate_waypoint_index[]

int32

如果 ComputeRoutesRequest.optimize_waypoint_order 設為 true,這個欄位會包含最佳化的中途控點順序。否則,這個欄位會空白。舉例來說,假設輸入內容為:起點:洛杉磯;中途點:達拉斯、班戈、鳳凰城;目的地:紐約;最佳化中途點順序為:鳳凰城、達拉斯、班戈。則這個欄位會包含 [2, 0, 1] 值。第一個中途停靠點的索引為 0。

RouteLeg

封裝非 via 航點之間的線段。

欄位
distance_meters

int32

路線段的行車距離 (以公尺為單位)。

duration

Duration

導覽該路段所需的時間長度。如果 route_preference 設為 TRAFFIC_UNAWARE,這個值會與 static_duration 相同。如果 route_preference 為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

static_duration

Duration

計算路段的行車時間時,不納入路況考量。

polyline

Polyline

這段行程的整體折線。包括每個 step 的折線。

start_location

Location

這個路段的起點。這可能與提供的 origin 不同。舉例來說,如果提供的 origin 不在道路附近,這就是道路上的點。

end_location

Location

這個路段的終點。這可能與提供的 destination 不同。舉例來說,如果提供的 destination 不在道路附近,這就是道路上的點。

steps[]

RouteLegStep

這個路段中的區隔步驟陣列。每個步驟代表一項導航指示。

travel_advisory

RouteLegTravelAdvisory

封裝使用者應瞭解的額外資訊,例如路線路段上可能的交通區域限制等。

RouteLegStep

封裝 RouteLeg 的區隔。每個步驟都對應一項導航指示。路線路段是由步驟組成。

欄位
distance_meters

int32

這個步驟的移動距離 (以公尺為單位)。在某些情況下,這個欄位可能沒有值。

static_duration

Duration

不考量路況,通過這個步驟所需的時間。在某些情況下,這個欄位可能沒有值。

polyline

Polyline

與這個步驟相關聯的折線。

start_location

Location

這個步驟的起點。

end_location

Location

這個步驟的終點。

navigation_instruction

NavigationInstruction

導航指示。

travel_advisory

RouteLegStepTravelAdvisory

封裝使用者應瞭解的其他資訊,例如路段步驟可能有的交通區域限制。

RouteLegStepTravelAdvisory

封裝使用者應瞭解的其他資訊,例如路段步驟可能有的交通區域限制。

欄位
speed_reading_intervals[]

SpeedReadingInterval

注意:這個欄位目前未填入任何內容。

RouteLegTravelAdvisory

封裝應告知使用者的額外資訊,例如路線路段上可能的交通區域限制等。

欄位
toll_info

TollInfo

封裝特定 RouteLeg 的收費路段資訊。只有在 RouteLeg 上有預期會收費的路段時,系統才會填入這個欄位。如果設定這個欄位,但未填入 estimated_price 子欄位,我們預期道路會收取通行費,但不知道預估價格。如果沒有這個欄位,表示 RouteLeg 沒有收費。

speed_reading_intervals[]

SpeedReadingInterval

快速讀取間隔,詳細說明流量密度。適用於 TRAFFIC_AWARE 和 TRAFFIC_AWARE_OPTIMAL 路由偏好設定。這些間隔會涵蓋 RouteLeg 的整條折線,且不會重疊。指定間隔的起點與前一個間隔的終點相同。

範例:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteMatrixDestination

ComputeRouteMatrixRequest 的單一目的地

欄位
waypoint

Waypoint

必填。目的地路線控點

RouteMatrixElement

封裝 ComputeRouteMatrix API 中為起點/目的地組合計算的路線資訊。這個 proto 可以串流至用戶端。

欄位
origin_index

int32

要求中來源的從零開始計算的索引。

destination_index

int32

要求中目的地的從零開始計算索引。

status

Status

這個元素的錯誤狀態碼。

condition

RouteMatrixElementCondition

指出是否找到路線。與狀態無關。

distance_meters

int32

路線的移動距離 (以公尺為單位)。

duration

Duration

導覽路線所需的時間長度。如果將 routing_preference 設為 TRAFFIC_UNAWARE,這個值就會與 static_duration 相同。如果將 routing_preference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

static_duration

Duration

不考慮路況的路線行車時間。

travel_advisory

RouteTravelAdvisory

路線的其他資訊。例如:限制資訊和收費資訊

fallback_info

FallbackInfo

在某些情況下,如果伺服器無法根據特定起點/目的地組合的偏好設定計算路線,可能會改用其他計算模式。使用備援模式時,這個欄位會包含備援回覆的詳細資訊。否則這個欄位不會設定。

RouteMatrixElementCondition

傳回路線的條件。

列舉
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED 只有在元素的 status 不正常時才會使用。
ROUTE_EXISTS 系統找到路線,並為元素填入相應資訊。
ROUTE_NOT_FOUND 找不到路線。元素中不會填入含有路線資訊的欄位,例如 distance_meters 或 duration。

RouteMatrixOrigin

ComputeRouteMatrixRequest 的單一來源

欄位
waypoint

Waypoint

必填。起點途經點

route_modifiers

RouteModifiers

(選用步驟) 以這個地點為起點的每條路線的修飾符

RouteModifiers

封裝一組選用條件,用於計算路線時。

欄位
avoid_tolls

bool

如果設為 true,系統會盡量避開收費路段,優先選擇不含收費路段的路線。僅適用於「DRIVE」和「TWO_WHEELER」旅行模式。

avoid_highways

bool

如果設為 true,系統會盡量避開高速公路,優先選擇不含高速公路的路線。僅適用於「DRIVE」和「TWO_WHEELER」旅行模式。

avoid_ferries

bool

如果設為 true,系統會盡量避開渡輪,優先選擇不含渡輪的路線。僅適用於「DRIVE」和「TWO_WHEELER」旅行模式。

avoid_indoor

bool

如果設為 true,系統會盡量避開室內導航,優先選擇不含室內導航的路線。僅適用於WALK旅行模式。

vehicle_info

VehicleInfo

指定車輛資訊。

toll_passes[]

TollPass

封裝有關收費通行卡的資訊。如果提供道路收費通行卡,API 會嘗試傳回通行卡價格。如果未提供收費通行卡,API 會將通行卡視為不明,並嘗試傳回現金價格。僅適用於「DRIVE」和「TWO_WHEELER」旅行模式。

RouteObjective

封裝要透過 ComputeCustomRoutes 進行最佳化的目標。

欄位
聯集欄位 objective。路線目標。objective 只能是下列其中一項:
rate_card

RateCard

價目表目標。

RateCard

封裝 RateCard 路線目標。

欄位
cost_per_minute

MonetaryCost

(選用步驟) 每分鐘費用。

cost_per_km

MonetaryCost

(選用步驟) 每公里費用。

include_tolls

bool

(選用步驟) 是否要在總費用中納入通行費。

MonetaryCost

封裝價目表中所用的費用。

欄位
value

double

必填。系統從要求推斷出的費用值 (以當地幣別表示)。

RouteTravelAdvisory

封裝應告知使用者的額外資訊,例如可能的交通區域限制等。

欄位
toll_info

TollInfo

封裝路線上收費路段的相關資訊。只有在預期路線會經過收費站時,系統才會填入這個欄位。如果設定這個欄位,但未填入 estimated_price 子欄位,我們預期道路會收取通行費,但不知道預估價格。如未設定這個欄位,我們預期路線不會有收費路段。

speed_reading_intervals[]

SpeedReadingInterval

快速讀取間隔,詳細說明流量密度。適用於 TRAFFIC_AWARE 和 TRAFFIC_AWARE_OPTIMAL 路由偏好設定。間隔會涵蓋路線的整條折線,不會重疊。指定間隔的起點與前一個間隔的終點相同。

範例:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speed_reading_intervals: [A,C), [C,D), [D,G).

RouteTravelMode

用來指定交通方式的一組值。

列舉
TRAVEL_MODE_UNSPECIFIED 未指定交通方式。預設值為 DRIVE。
DRIVE 搭乘客車。
BICYCLE 騎自行車。
WALK 步行。
TWO_WHEELER 兩輪電動車,例如摩托車。請注意,這與涵蓋人力驅動模式的BICYCLE交通方式不同。
TAXI

搭乘有執照的計程車,這類車輛在某些地區可使用計程車專用道。

TAXI 模式為實驗功能,如果顧客在沒有計程車專用道資料的城市要求計程車路線,系統會傳回「開車」路線。

RoutingPreference

一組值,用於指定計算路線時要考量的因素。

列舉
ROUTING_PREFERENCE_UNSPECIFIED 未指定任何轉送偏好設定。預設為 TRAFFIC_AWARE。
TRAFFIC_UNAWARE 計算路線時不會考量即時路況。如果路況不重要或不適用,就很適合使用這項功能。使用這個值可產生最低延遲時間。注意:如果是 RouteTravelMode DRIVE 和 TWO_WHEELER,系統會根據路網及與時間無關的平均路況來選擇路線和時間,不會考量目前路況。因此,路線可能會包含暫時封閉的道路。受到路網變動、平均路況更新,以及這項服務的分散性質影響,特定要求的結果可能會隨時間而改變。此外,在時間或頻率都沒有限制的情況下,即使兩條路線幾乎相同,結果還是有可能不同。
TRAFFIC_AWARE 計算路線時會考量路況。與 TRAFFIC_AWARE_OPTIMAL 相比,這項功能會套用一些最佳化設定,大幅縮短延遲時間。
TRAFFIC_AWARE_OPTIMAL 計算路線時會考量路況,但不會套用大部分的效能最佳化設定。使用這個值會產生最高延遲。

SpeedReadingInterval

折線或路徑上連續路段的車流密度指標。假設路徑包含 P_0、P_1、...、P_N 等點 (以零為基準的索引),SpeedReadingInterval 會定義間隔,並使用下列類別說明該間隔的流量。

欄位
start_polyline_point_index

int32

折線中這個間隔的起始索引。在 JSON 中,如果索引為 0,欄位會顯示為未填入。

end_polyline_point_index

int32

折線中這個間隔的結尾索引。在 JSON 中,如果索引為 0,欄位會顯示為未填入。

speed

Speed

這個時間間隔內的車流速度。

速度

根據交通資料分類折線速度。

列舉
SPEED_UNSPECIFIED 預設值。這個值不會使用。
NORMAL 速度正常,未偵測到變慢。
SLOW 偵測到車速變慢,但未形成交通壅塞。
TRAFFIC_JAM 偵測到交通壅塞。

TollInfo

封裝 Route 或 RouteLeg 上的收費資訊。

欄位
estimated_price[]

Money

對應 Route 或 RouteLeg 的通行費金額。這份清單會列出各幣別的金額,也就是預計收費站會收取的費用。如果路線的通行費以單一幣別計算,這份清單通常只會包含一個項目。如果是國際行程,這份清單可能包含多個項目,反映不同幣別的通行費。

TollPass

我們支援的全球收費通行卡清單。

列舉
TOLL_PASS_UNSPECIFIED 未使用。如果使用這個值,要求就會失敗。
AU_ETOLL_TAG 雪梨眾多收費通行卡供應商之一。https://www.myetoll.com.au
AU_EWAY_TAG 雪梨眾多收費通行卡供應商之一。https://www.tollpay.com.au/
AU_LINKT 澳洲全國收費通行卡。詳情請參閱 https://www.linkt.com.au/。
AR_TELEPASE 阿根廷收費通行卡。詳情請參閱 https://telepase.com.ar
BR_AUTO_EXPRESO 巴西收費通行卡。詳情請參閱 https://www.autoexpreso.com
BR_CONECTCAR 巴西收費通行卡。詳情請參閱 https://conectcar.com。
BR_MOVE_MAIS 巴西收費通行卡。詳情請參閱 https://movemais.com。
BR_PASSA_RAPIDO 巴西收費通行卡。詳情請參閱 https://pasorapido.gob.do/
BR_SEM_PARAR 巴西收費通行卡。詳情請參閱 https://www.semparar.com.br。
BR_TAGGY 巴西收費通行卡。詳情請參閱 https://taggy.com.br。
BR_VELOE 巴西收費通行卡。詳情請參閱 https://veloe.com.br/site/onde-usar。
CA_US_AKWASASNE_SEAWAY_CORPORATE_CARD 加拿大與美國的邊境。
CA_US_AKWASASNE_SEAWAY_TRANSIT_CARD 加拿大與美國的邊境。
CA_US_BLUE_WATER_EDGE_PASS 從加拿大安大略省到美國密西根州的邊境。
CA_US_CONNEXION 從加拿大安大略省到美國密西根州的邊境。
CA_US_NEXUS_CARD 加拿大與美國的邊境。
ID_E_TOLL 印尼。使用多間銀行提供的電子卡支付通行費。透過銀行發行的所有電子禮物卡都採用相同費率,因此只需要一個列舉值。例如:Bank Mandiri https://www.bankmandiri.co.id/e-money、BCA https://www.bca.co.id/flazz、BNI https://www.bni.co.id/id-id/ebanking/tapcash
IN_FASTAG India.
IN_LOCAL_HP_PLATE_EXEMPT 印度,HP 州車牌豁免。
JP_ETC 日本 ETC。電子無線系統,用於收取通行費。https://www.go-etc.jp/
JP_ETC2 日本 ETC2.0。新版 ETC,提供更多折扣,並在車輛上的裝置與道路上的天線之間進行雙向通訊。https://www.go-etc.jp/etc2/index.html
MX_IAVE 墨西哥 https://iave.capufe.gob.mx/#/
MX_PASE 墨西哥 https://www.pase.com.mx
MX_QUICKPASS 墨西哥 https://operadoravial.com/quick-pass/
MX_SISTEMA_TELEPEAJE_CHIHUAHUA 墨西哥 http://appsh.chihuahua.gob.mx/transparencia/?doc=/ingresos/TelepeajeFormato4.pdf
MX_TAG_IAVE 墨西哥
MX_TAG_TELEVIA 墨西哥收費通行卡公司。這是墨西哥市眾多營運商之一。詳情請參閱 https://www.televia.com.mx。
MX_TELEVIA 墨西哥收費通行卡公司。這是墨西哥市眾多營運商之一。https://www.televia.com.mx
MX_VIAPASS 墨西哥收費通行卡。詳情請參閱 https://www.viapass.com.mx/viapass/web_home.aspx。
US_AL_FREEDOM_PASS 美國阿拉巴馬州。
US_AK_ANTON_ANDERSON_TUNNEL_BOOK_OF_10_TICKETS 美國阿拉斯加州。
US_CA_FASTRAK 美國加州。
US_CA_FASTRAK_CAV_STICKER 指出駕駛人是否持有 FasTrak 通行證,以及 DMV 核發的清潔能源車輛 (CAV) 貼紙。https://www.bayareafastrak.org/en/guide/doINeedFlex.shtml
US_CO_EXPRESSTOLL 美國科羅拉多州。
US_CO_GO_PASS 美國科羅拉多州。
US_DE_EZPASSDE DE, USA.
US_FL_BOB_SIKES_TOLL_BRIDGE_PASS 美國佛羅里達州。
US_FL_DUNES_COMMUNITY_DEVELOPMENT_DISTRICT_EXPRESSCARD 美國佛羅里達州。
US_FL_EPASS 美國佛羅里達州。
US_FL_GIBA_TOLL_PASS 美國佛羅里達州。
US_FL_LEEWAY 美國佛羅里達州。
US_FL_SUNPASS 美國佛羅里達州。
US_FL_SUNPASS_PRO 美國佛羅里達州。
US_IL_EZPASSIL 美國伊利諾州。
US_IL_IPASS 美國伊利諾州。
US_IN_EZPASSIN 美國印第安納州。
US_KS_BESTPASS_HORIZON 美國堪薩斯州。
US_KS_KTAG 美國堪薩斯州。
US_KS_NATIONALPASS 美國堪薩斯州。
US_KS_PREPASS_ELITEPASS 美國堪薩斯州。
US_LA_GEAUXPASS 美國洛杉磯。
US_LA_TOLL_TAG 美國洛杉磯。
US_MA_EZPASSMA 美國麻州。
US_MD_EZPASSMD 美國馬里蘭州。
US_ME_EZPASSME 美國緬因州。
US_MI_AMBASSADOR_BRIDGE_PREMIER_COMMUTER_CARD 美國密西根州。
US_MI_BCPASS 美國密西根州。
US_MI_GROSSE_ILE_TOLL_BRIDGE_PASS_TAG 美國密西根州。
US_MI_IQ_PROX_CARD

美國密西根州。已淘汰,因為這類票證已不存在。

US_MI_IQ_TAG 美國密西根州。
US_MI_MACKINAC_BRIDGE_MAC_PASS 美國密西根州。
US_MI_NEXPRESS_TOLL 美國密西根州。
US_MN_EZPASSMN 美國明尼蘇達州。
US_NC_EZPASSNC 美國北卡羅來納州。
US_NC_PEACH_PASS 美國北卡羅來納州。
US_NC_QUICK_PASS 美國北卡羅來納州。
US_NH_EZPASSNH 美國新罕布夏州。
US_NJ_DOWNBEACH_EXPRESS_PASS 美國紐澤西州。
US_NJ_EZPASSNJ 美國紐澤西州。
US_NY_EXPRESSPASS 美國紐約州。
US_NY_EZPASSNY 美國紐約州。
US_OH_EZPASSOH 美國俄亥俄州。
US_PA_EZPASSPA 美國賓州。
US_RI_EZPASSRI 美國羅德島州。
US_SC_PALPASS 美國南卡羅來納州。
US_TX_AVI_TAG 美國德州。
US_TX_BANCPASS 美國德州。
US_TX_DEL_RIO_PASS 美國德州。
US_TX_EFAST_PASS 美國德州。
US_TX_EAGLE_PASS_EXPRESS_CARD 美國德州。
US_TX_EPTOLL 美國德州。
US_TX_EZ_CROSS 美國德州。
US_TX_EZTAG 美國德州。
US_TX_FUEGO_TAG 美國德州。
US_TX_LAREDO_TRADE_TAG 美國德州。
US_TX_PLUSPASS 美國德州。
US_TX_TOLLTAG 美國德州。
US_TX_TXTAG 美國德州。
US_TX_XPRESS_CARD 美國德州。
US_UT_ADAMS_AVE_PARKWAY_EXPRESSCARD 美國猶他州。
US_VA_EZPASSVA 美國維吉尼亞州。
US_WA_BREEZEBY 美國華盛頓州。
US_WA_GOOD_TO_GO 美國華盛頓州。
US_WV_EZPASSWV 美國西維吉尼亞州。
US_WV_MEMORIAL_BRIDGE_TICKETS 美國西維吉尼亞州。
US_WV_MOV_PASS 美國西維吉尼亞州
US_WV_NEWELL_TOLL_BRIDGE_TICKET 美國西維吉尼亞州。

單位

一組值,用於指定顯示畫面中使用的測量單位。

列舉
UNITS_UNSPECIFIED 未指定測量單位。預設為從要求推斷出的測量單位。
METRIC 公制測量單位。
IMPERIAL 英制 (英文) 測量單位。

VehicleEmissionType

一組描述車輛排放類型的數值。僅適用於「開車」旅行模式。

列舉
VEHICLE_EMISSION_TYPE_UNSPECIFIED 未指定排放類型。預設值為 GASOLINE。
GASOLINE 以汽油為燃料的車輛。
ELECTRIC 以電力為動力的車輛。
HYBRID 油電混合車 (例如汽油 + 電動)。

VehicleInfo

封裝車輛資訊,例如車輛排放類型。

欄位
emission_type

VehicleEmissionType

說明車輛的排放類型。僅適用於 DRIVE RouteTravelMode。

途經點

封裝路徑點。路線控點會標示路線的起點和終點,以及路線上的中途停靠站。

欄位
via

bool

將這個中途點標示為里程碑,而非停靠點。對於要求中的每個非中途停靠站,回應會在 legs 陣列中附加項目,提供該路段中途停靠站的詳細資料。如要讓路線通過這個路線控點而不停靠,請將這個值設為 true。透過路線控點不會導致項目新增至 legs 陣列,但會將旅程路線導向路線控點。你只能為中繼路線控點設定這個值。如果您在終端路線控點上設定這個欄位,要求就會失敗。如果 ComputeRoutesRequest.optimize_waypoint_order 設為 true,則這個欄位無法設為 true,否則要求會失敗。

vehicle_stopover

bool

表示車輛應停靠的中途點,目的是接送乘客。設定這個值後,計算出的路線不會包含不適合接送乘客的道路上的非 via 中途點。這個選項僅適用於 DRIVE 和 TWO_WHEELER 交通方式,且 location_type 為 location 時。

side_of_road

bool

表示這個路線控點的位置偏好車輛停靠在道路的特定一側。設定這個值後,路線會經過該位置,讓車輛停靠在道路一側,該側與道路中心線的距離會偏向該位置。這個選項僅適用於「開車」和「雙輪車」的交通方式。

聯集欄位 location_type。表示位置的不同方式。location_type 只能是下列其中一項:
location

Location

使用地理座標指定的點,包括選用的航向。

place_id

string

與途中的航點相關聯的 POI 地點 ID。