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 格式指定折線

單位

一組值,用於指定螢幕使用的測量單位。

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

ReferenceRoute

ComputeRoutesRequest 支援的參考路徑。

列舉
REFERENCE_ROUTE_UNSPECIFIED 未使用。包含這個值的要求失敗。
FUEL_EFFICIENT 燃油效率路線。標有這個值的路徑會經過最佳化處理,例如燃油消耗等參數。

ExtraComputation

完成要求時要執行的額外運算。

列舉
EXTRA_COMPUTATION_UNSPECIFIED 未使用。包含這個值的要求將會失敗。
TOLLS 路線的收費資訊。
FUEL_CONSUMPTION 路線的預估油耗。
TRAFFIC_ON_POLYLINE 路線的交通感知折線。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 以格式化 HTML 文字字串表示的 NavigationInstructions。此內容應按原樣閱讀。此內容僅供顯示。請勿以程式輔助方式剖析。

路徑

包含路線,由多個連接的路段組成,兩條相連的路段包含起點、終點和中繼路線控點。

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 的要求。使用 Via 路線控點的要求不支援「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 路線。

Polyline

封裝編碼的折線。

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。封裝折線的類型。預設為 coded_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 有收費路段時,才會填入這個欄位。如果已設定這個欄位,但 EstimatedPrice 子欄位未填入值,則表示道路包含收費路段,但系統不知道預估價格。如果這個欄位不存在,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)

多模組區段的 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

結果的類型,以零或多個類型標記的形式表示。支援的類型:地址類型和地址元件類型

partialMatch

boolean

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

placeId

string

這項結果的地點 ID。

intermediateWaypointRequestIndex

integer

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