Method: computeRoutes

傳回主要路線以及選擇性替代路線,指定一組航線和中繼路點。

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

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

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

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

  • 只選取您需要的欄位有助於我們的伺服器節省運算週期,讓我們以更短的延遲時間將結果傳回給您。
  • 僅選取實際工作環境工作中所需的欄位,可確保延遲時間保持穩定。我們日後可能會新增更多回應欄位,且這些新欄位可能需要額外的計算時間。如果您選取所有欄位,或是選取頂層的所有欄位,則可能會出現成效降低的情況,因為我們新增的所有欄位都會自動納入回應中。
  • 如果只選取您需要的欄位,回應大小會縮減,網路處理量也會因此增加。

HTTP 要求

POST https://routes.googleapis.com/directions/v2:computeRoutes

這個網址使用 gRPC 轉碼語法。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
欄位
origin

object (Waypoint)

必要欄位。來源路線控點。

destination

object (Waypoint)

必要欄位。目的地路線控點。

intermediates[]

object (Waypoint)

選用設定。沿途一組路線控點 (不含終點站),用來在 或 經過。最多支援 25 個中繼路線控點。

travelMode

enum (RouteTravelMode)

選用設定。指定交通方式,

routingPreference

enum (RoutingPreference)

選用設定。指定如何計算路徑。伺服器會嘗試使用所選轉送偏好設定來計算路徑。如果轉送偏好設定導致錯誤或過長的延遲時間,則會傳回錯誤。只有在 travelModeDRIVETWO_WHEELER 時,您才能指定此選項,否則要求會失敗。

polylineQuality

enum (PolylineQuality)

選用設定。指定您對折線品質的偏好設定。

polylineEncoding

enum (PolylineEncoding)

選用設定。指定折線的偏好編碼。

departureTime

string (Timestamp format)

選用設定。出發時間。如未設定這個值,則這個值會預設為您提出要求的時間。注意:當 RouteTravelMode 設為 TRANSIT 時,您只能指定過去的 departureTime。大眾運輸行程最多可設為過去 7 天或未來 100 天內的資料。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

arrivalTime

string (Timestamp format)

選用設定。抵達時間。注意:只有在 RouteTravelMode 設為 TRANSIT 時才能設定。您可以指定 departureTimearrivalTime,但不能同時指定兩者。大眾運輸行程最多可設為過去 7 天或未來 100 天內的資料。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

computeAlternativeRoutes

boolean

選用設定。指定是否要計算路線以外的替代路徑。系統不會為具有中繼路線控點的要求傳回替代路線。

routeModifiers

object (RouteModifiers)

選用設定。一組滿足條件,這些條件會影響路線的計算方式。

languageCode

string

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

regionCode

string

選用設定。區碼,指定為 ccTLD (「頂層網域」) 的兩位字元值詳情請參閱國家/地區代碼頂層網域

units

enum (Units)

選用設定。指定顯示欄位的測量單位。這些欄位包含 NavigationInstruction 中的 instruction 欄位。路線、路段、步數和所需時間的測量單位不受這個值影響。如未提供這個值,系統會根據第一個起點的位置推斷顯示單位。

optimizeWaypointOrder

boolean

選用設定。設為 true 時,服務會嘗試重新排序指定的中繼路線控點,盡可能降低路線的總成本。如果任何中繼路線控點是 via 路線控點,要求就會失敗。使用 ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index 尋找新排序。如果 X-Goog-FieldMask 標頭未要求 ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index,要求就會失敗。如果將 optimizeWaypointOrder 設為 false,ComputeRoutesResponse.optimized_intermediate_waypoint_index 將留空。

requestedReferenceRoutes[]

enum (ReferenceRoute)

選用設定。除了預設路徑之外,指定要在要求中計算的參照路徑。參照路徑是路線,其路線計算目標與預設路線不同。舉例來說,FUEL_EFFICIENT 參考路線計算時會考量各種參數,這些參數會產生最有效率的省油路線。

extraComputations[]

enum (ExtraComputation)

選用設定。一份額外運算清單,可用來完成要求。注意:這些額外的運算作業可能會在回應中傳回額外的欄位。您也必須在欄位遮罩中指定這些額外的欄位,才能在回應中傳回。

trafficModel

enum (TrafficModel)

選用設定。指定計算交通時間時要採用的假設。這項設定會影響 RouteRouteLeg 中時間長度欄位傳回的值,其中包含根據歷來平均值預估的交通時間。TrafficModel 僅適用於將 RoutingPreference 設為 TRAFFIC_AWARE_OPTIMAL,並將 RouteTravelMode 設為 DRIVE 的要求。如果要求流量且未指定 TrafficModel,則預設值為 BEST_GUESS

transitPreferences

object (TransitPreferences)

選用設定。指定偏好設定,讓 TRANSIT 路線傳迴路線。注意:只有在 RouteTravelMode 設為 TRANSIT 時,才能指定 transitPreferences

回應主體

v2.computeRoutes 回應訊息。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
欄位
routes[]

object (Route)

指定 compute_alternatives_routes 時,包含計算路徑的陣列 (最多三個),如未指定,則只會包含一個路線。如果這個陣列包含多個項目,則第一項是最建議的路線。如果陣列空白,表示找不到路線。

fallbackInfo

object (FallbackInfo)

在某些情況下,當伺服器無法根據所有輸入偏好設定計算路線結果時,可能會改回使用其他運算方式。使用備用模式時,這個欄位會包含備用回應的詳細資訊。否則,系統會取消設定這個欄位。

geocodingResults

object (GeocodingResults)

包含指定為地址的路線控點的地理編碼回應資訊。

PolylineQuality

一組指定折線品質的值。

列舉
POLYLINE_QUALITY_UNSPECIFIED 未指定折線品質偏好設定。預設值為 OVERVIEW
HIGH_QUALITY 指定高品質的折線 - 通常使用超過 OVERVIEW 個點,導致回應大小增加。如果您需要更準確的精確度,請使用這個值。
OVERVIEW 指定總覽折線 - 由少量的點組成。顯示路線總覽時,請使用這個值。與使用 HIGH_QUALITY 選項相比,使用這個選項的要求延遲時間較短。

PolylineEncoding

指定要傳回的折線類型。

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

ReferenceRoute

ComputeRoutesRequest 上支援的參考路徑。

列舉
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含這個值的要求會失敗。
FUEL_EFFICIENT 省油路線。系統會判斷標有這個值的路線,已針對燃料消耗等參數進行最佳化。

ExtraComputation

完成要求時要執行的其他運算。

列舉
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含這個值的要求都會失敗。
TOLLS 路線的收費路段資訊。
FUEL_CONSUMPTION 路線的預估燃油耗量。
TRAFFIC_ON_POLYLINE 路況感知折線。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions 會以格式化的 HTML 文字字串形式呈現。這類內容應按原樣閱讀。本內容僅供檢視,請勿以程式輔助方式剖析。

路線

包含路線,包含一系列連接起點、終點和中間路點的相連路段。

JSON 表示法
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string
}
欄位
routeLabels[]

enum (RouteLabel)

Route 的標籤,可用來識別路徑的特定屬性,以便與其他項目比較。

legs[]

object (RouteLeg)

組成路線的一組航段 (路線控點之間的路徑區段)。每個路段都對應至兩個非 via Waypoints 之間的行程。舉例來說,沒有中繼路線控點的路線只有一個路段。路線若包含一個非 via 的中繼路線控點,則有兩個路段。包含一個 via 中繼路線控點的路線只有一個路段。路段的順序符合從 originintermediatesdestination 的路線控點順序。

distanceMeters

integer

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

duration

string (Duration format)

導航路線所需時間。如果將 routingPreference 設為 TRAFFIC_UNAWARE,這個值會與 staticDuration 相同。如果您將 routingPreference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,系統在計算這個值時會將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

staticDuration

string (Duration format)

在不考量路況的情況下行經該路線的時間長度。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

polyline

object (Polyline)

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

description

string

路線的說明。

warnings[]

string

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

viewport

object (Viewport)

折線的可視區域定界框。

travelAdvisory

object (RouteTravelAdvisory)

路線的其他資訊。

optimizedIntermediateWaypointIndex[]

integer

如果將 optimizeWaypointOrder 設為 true,這個欄位會包含最佳化的中繼路線控點順序。否則,這個欄位會留空。例如,如果輸入內容是 Origin: LA;中階路線控點:達拉斯、邦哥爾、鳳凰城等地區;目的地:紐約;而最佳化的中繼路線控點順序為鳳凰城、達拉斯、Bangor,則這個欄位會包含 [2, 0, 1] 值。輸入內容中提供的第一個中繼路線控點,且索引開頭為 0。

localizedValues

object (RouteLocalizedValues)

Route 屬性的文字表示法。

routeToken

string

一種具備網路安全性的 Base64 編碼路徑符記,這個符記可傳送至 Navigation SDK,讓 Navigation SDK 在導航期間重建路徑,並在重新規劃路線時,配合呼叫 v2.computeRoutes 建立路徑時的原始意圖。客戶應將此權杖視為不透明 blob。請勿跨要求比較這個值,即使傳回完全相同的路線,這個憑證仍可能有所變更。注意:Route.route_token 僅適用於將 ComputeRoutesRequest.routing_preference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的要求。不支援包含透過路線控點的要求 Route.route_token

RouteLabel

Route 的標籤,可用來識別路徑的特定屬性,以便與其他項目比較。

列舉
ROUTE_LABEL_UNSPECIFIED 預設 - 不使用。
DEFAULT_ROUTE 預設為「最佳」路線計算傳回的路徑。
DEFAULT_ROUTE_ALTERNATE 取代預設「最佳」的替代選項路徑。指定 computeAlternativeRoutes 時,會傳回這類路徑。
FUEL_EFFICIENT 省油路線。系統判斷標有這個值的路線,已針對燃油量等節能參數進行最佳化。

RouteLeg

包含非 via 路線控點之間的線段。

JSON 表示法
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
欄位
distanceMeters

integer

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

duration

string (Duration format)

瀏覽路段所需的時間長度。如果 route_preference 設為 TRAFFIC_UNAWARE,則這個值與 staticDuration 相同。如果 route_preferenceTRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,系統在計算這個值時會將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

staticDuration

string (Duration format)

行經路段的時間長度,不將路況納入考量。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

polyline

object (Polyline)

這個路段的整體折線,當中含有每個 step 的折線。

startLocation

object (Location)

這個路段的起點。這個位置可能與提供的 origin 不同。舉例來說,如果提供的 origin 不位於道路附近,這是道路的某個點。

endLocation

object (Location)

這個路段的終點。這個位置可能與提供的 destination 不同。舉例來說,如果提供的 destination 不位於道路附近,這是道路的某個點。

steps[]

object (RouteLegStep)

代表這個路段中路段的步驟陣列。每個步驟都代表一個導覽指示。

travelAdvisory

object (RouteLegTravelAdvisory)

包含需告知使用者的其他相關資訊,例如路線路段的可能交通區域限制。

localizedValues

object (RouteLegLocalizedValues)

RouteLeg 屬性的文字表示法。

stepsOverview

object (StepsOverview)

RouteLeg 中步驟的總覽資訊。只有 TRANSIT 路線才會填入這個欄位。

折線

封裝編碼折線。

JSON 表示法
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
欄位
聯集欄位 polyline_type。封裝折線的類型。預設為 encoded_polyline。polyline_type 只能是下列其中一項:
encodedPolyline

string

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

geoJsonLinestring

object (Struct format)

使用 GeoJSON LineString 格式指定折線。

RouteLegStep

包含 RouteLeg 的區段。步驟對應單一導覽指示。路線路段包含步數。

JSON 表示法
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
欄位
distanceMeters

integer

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

staticDuration

string (Duration format)

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

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

polyline

object (Polyline)

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

startLocation

object (Location)

這個步驟的開始位置。

endLocation

object (Location)

這個步驟的結束位置。

navigationInstruction

object (NavigationInstruction)

導航指示。

travelAdvisory

object (RouteLegStepTravelAdvisory)

包含需告知使用者有關車腿步驟的其他資訊,例如可能的交通區域限制。

localizedValues

object (RouteLegStepLocalizedValues)

RouteLegStep 屬性的文字表示法。

transitDetails

object (RouteLegStepTransitDetails)

如果交通方式為 TRANSIT,這個步驟的相關詳細資料。

travelMode

enum (RouteTravelMode)

這個步驟所用的交通方式。

製造

一組值,用於指定目前步驟要採取的導覽動作 (例如向左轉、合併或直接)。

列舉
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 用於表示街道名稱變更。

RouteLegStepTravelAdvisory

包含應告知使用者的其他資訊,例如腿部步驟可能出現的交通區域限制。

JSON 表示法
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
欄位
speedReadingIntervals[]

object (SpeedReadingInterval)

注意:這個欄位目前未填入資料。

RouteLegStepLocalizedValues

特定屬性的文字表示法。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
欄位
distance

object (LocalizedText)

以文字形式表示的移動距離。

staticDuration

object (LocalizedText)

未考量路況,以文字格式表示的時間長度。

RouteLegStepTransitDetails

TRANSIT 路線相關的 RouteLegStep 其他資訊。

JSON 表示法
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
欄位
stopDetails

object (TransitStopDetails)

步驟抵達和出發停靠站的相關資訊。

localizedValues

object (TransitDetailsLocalizedValues)

RouteLegStepTransitDetails 屬性的文字表示法。

headsign

string

指定這條路線上標示為車輛或出發站的行進方向。方向通常是終點站。

headway

string (Duration format)

用來指定從目前同一站點出發的預計時間。例如,假設班距秒數值為 600,則表示如果錯過上一班公車,下一班預計要等 10 分鐘。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

transitLine

object (TransitLine)

這個步驟中使用的大眾運輸路線相關資訊。

stopCount

integer

從出發到抵達站的停靠站數量。這包括抵達站,但不含出發站。例如,假設您的路線是從 A 站出發,途經 B、C 兩站,最後抵達 D 站,則 stopCount 會傳回 3。

tripShortText

string

時刻表和看板上顯示的文字,可供乘客識別大眾運輸行程。這類文字應用於識別服務日內的特定行程。例如「538」是阿姆特拉克的 tripShortText 列車,該列車從加州聖荷西飛往加州沙加緬度的平日下午 15:10。

TransitStopDetails

RouteLegStep大眾運輸停靠站的詳細資料。

JSON 表示法
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
欄位
arrivalStop

object (TransitStop)

步驟的抵達站相關資訊。

arrivalTime

string (Timestamp format)

步驟的預計到達時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

departureStop

object (TransitStop)

步驟的出發停靠站相關資訊。

departureTime

string (Timestamp format)

步驟的預計出發時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

TransitStop

大眾運輸站點相關資訊。

JSON 表示法
{
  "name": string,
  "location": {
    object (Location)
  }
}
欄位
name

string

大眾運輸停靠站的名稱。

location

object (Location)

以經緯度座標表示的停靠站位置。

TransitDetailsLocalizedValues

RouteTransitDetails 值的本地化說明。

JSON 表示法
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
欄位
arrivalTime

object (LocalizedTime)

以格式化文字表示的時間,以對應的時區表示。

departureTime

object (LocalizedTime)

以格式化文字表示的時間,以對應的時區表示。

LocalizedTime

本地化的時間說明。

JSON 表示法
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
欄位
time

object (LocalizedText)

在指定時區中以字串的形式指定的時間。

timeZone

string

包含時區。這個值就是 IANA 時區資料庫中定義的時區名稱,例如「America/New_York」。

TransitLine

包含目前步驟中使用的大眾運輸路線相關資訊。

JSON 表示法
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
欄位
agencies[]

object (TransitAgency)

提供這條大眾運輸路線的運輸公司 (或運輸公司)。

name

string

這條大眾運輸路線的全名,例如「8 Avenue Local」。

uri

string

大眾運輸路線的 URI (由運輸公司提供)。

color

string

這條路線常用的顏色,以十六進位表示。

iconUri

string

此行相關圖示的 URI。

nameShort

string

這條大眾運輸路線的簡稱,這個名稱通常是一行編號,例如「M7」或「355」。

textColor

string

這條路線常用的文字顏色,以十六進位表示。

vehicle

object (TransitVehicle)

行駛於這條大眾運輸路線的交通工具類型。

TransitAgency

提供大眾運輸路線的運輸公司。

JSON 表示法
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
欄位
name

string

這間運輸公司的名稱。

phoneNumber

string

運輸公司的特定地區格式電話號碼。

uri

string

運輸公司的 URI。

TransitVehicle

大眾運輸路線中使用車輛的相關資訊。

JSON 表示法
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
欄位
name

object (LocalizedText)

這輛車的名稱,大寫。

type

enum (TransitVehicleType)

使用的交通工具類型。

iconUri

string

與此交通工具類型相關聯圖示的 URI。

localIconUri

string

與此車輛類型相關聯圖示的 URI (根據本地交通標誌)。

TransitVehicleType

大眾運輸路線的交通工具類型。

列舉
TRANSIT_VEHICLE_TYPE_UNSPECIFIED 未使用。
BUS 公車。
CABLE_CAR 靠電纜運作的交通工具,通常在地面上行駛。空中纜車可視為 GONDOLA_LIFT 類型。
COMMUTER_TRAIN 通勤鐵路。
FERRY 渡輪。
FUNICULAR 靠電纜從陡坡往上拉升的交通工具。纜車通常由兩個車廂組成,其中每個車廂都為另一個車廂保持平衡。
GONDOLA_LIFT 空中纜車。
HEAVY_RAIL 重軌電車。
HIGH_SPEED_TRAIN 高速火車。
INTERCITY_BUS 城際巴士。
LONG_DISTANCE_TRAIN 長途火車。
METRO_RAIL 輕軌電車運輸。
MONORAIL 單軌電車。
OTHER 所有其他車輛。
RAIL 火車。
SHARE_TAXI 共乘的計程車可視為一種沿路上下客的公車。
SUBWAY 地下輕軌電車。
TRAM 地上輕軌電車。
TROLLEYBUS 無軌電車。

RouteLegTravelAdvisory

包含有關使用者路段的其他資訊,例如可能的交通區域限制。

JSON 表示法
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
欄位
tollInfo

object (TollInfo)

包含特定 RouteLeg 的收費路段相關資訊。只有在 RouteLeg 上需要停留時間時,才會填入這個欄位。如果已設定這個欄位,但預估價格子欄位未填入值,則道路應該會包含收費路段,但不顯示預估價格。如果這個欄位不存在,RouteLeg 上就不會出現任何收費站。

speedReadingIntervals[]

object (SpeedReadingInterval)

速度讀取間隔,詳細說明交通密度。適用於 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 轉送偏好設定間隔會涵蓋 RouteLeg 的整條折線,而且不會重疊。指定間隔的開始時間與前一個間隔的端點相同。

範例:

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

RouteLegLocalizedValues

特定屬性的文字表示法。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
欄位
distance

object (LocalizedText)

以文字形式表示的移動距離。

duration

object (LocalizedText)

將路況納入考量以文字形式計算的持續時間。注意:如果您沒有要求流量資訊,這個值將會與 staticDuration 相同。

staticDuration

object (LocalizedText)

未考量路況,以文字格式表示的時間長度。

StepsOverview

提供 RouteLegStep 清單的總覽資訊。

JSON 表示法
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
欄位
multiModalSegments[]

object (MultiModalSegment)

有關 RouteLeg.steps 中不同多模態區段的摘要資訊。如果 RouteLeg 不包含步驟中的任何多模態區隔,則不會填入這個欄位。

MultiModalSegment

提供 RouteLeg.steps 中不同多模態區段的摘要資訊。多模態區隔定義為一或多個具有相同 RouteTravelMode 的連續 RouteLegStep。如果 RouteLeg 不包含步驟中的任何多模態區隔,則不會填入這個欄位。

JSON 表示法
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
欄位
navigationInstruction

object (NavigationInstruction)

多模態區隔的導覽指示。

travelMode

enum (RouteTravelMode)

多模態區隔的交通方式。

stepStartIndex

integer

對應的 RouteLegStep 索引,是多模態片段的開頭。

stepEndIndex

integer

多模態片段結尾的對應 RouteLegStep 索引。

可視區域

經緯度可視區域,以對角線的兩點對角線表示 lowhigh 點。系統會將可視區域視為封閉區域,也就是包含界線的邊界。緯度邊界必須介於 -90 到 90 度(含),且經度範圍必須介於 -180 到 180 度(含)。各種情況包括:

  • 如果 low = high,可視區域是由該單點組成。

  • 如果 low.longitude >high.longitude,經度範圍會反轉 (可視區域會跨越 180 度經度線)。

  • 如果 low.longitude = -180 度,high.longitude = 180 度,可視區域會包含所有經度。

  • 如果 low.longitude = 180 度,high.longitude = -180 度,則經度範圍會留空。

  • 如果 low.latitude >high.latitude,緯度範圍是空的。

lowhigh 都必須填入,而代表方塊不得留空 (如上文定義所述)。空白的可視區域會導致錯誤。

舉例來說,這個可視區域會完整涵蓋紐約市:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

JSON 表示法
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
欄位
low

object (LatLng)

必要欄位。可視區域的低點。

high

object (LatLng)

必要欄位。可視區域的高點。

RouteLocalizedValues

特定屬性的文字表示法。

JSON 表示法
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
欄位
distance

object (LocalizedText)

以文字形式表示的移動距離。

duration

object (LocalizedText)

考量路況 (以文字格式表示) 的時間長度。注意:如果您沒有要求流量資訊,這個值將會與 staticDuration 相同。

staticDuration

object (LocalizedText)

未考量路況,以文字格式表示的時間長度。

transitFare

object (LocalizedText)

以文字表示的大眾運輸票價。

GeocodingResults

包含起點、目的地和中繼路線控點的 GeocodedWaypoints。僅針對地址路線控點填入。

JSON 表示法
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
欄位
origin

object (GeocodedWaypoint)

已進行地理編碼的路線控點。

destination

object (GeocodedWaypoint)

目的地已地理編碼的路線控點。

intermediates[]

object (GeocodedWaypoint)

一系列經過地理編碼的路點清單,每個路徑皆包含一個索引欄位,該欄位會依照要求中所指定的順序,與路線控點的零位置位置對應。

GeocodedWaypoint

做為路線控點位置的詳細資料。僅針對地址路線控點填入。包含地理編碼結果的詳細資料,用來判斷要進行地理編碼的地址。

JSON 表示法
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
欄位
geocoderStatus

object (Status)

指出地理編碼作業產生的狀態碼。

type[]

string

結果的類型,格式為 0 或多個型別標記。支援的類型:地址類型和地址元件類型

partialMatch

boolean

表示地理編碼器沒有傳回與原始要求完全相符的結果,但可以比對部分要求的地址。建議您比對原始要求,檢查是否有拼寫錯誤和/或不完整的地址。

placeId

string

這個結果的地點 ID。

intermediateWaypointRequestIndex

integer

要求中對應中繼路線控點的索引。只有在對應路點是中繼路線控點時,才會填入內容。