Route (beta)

Route class

google.maps.routes.Route class

內含路線,由一系列相連的路段組成,連接起點、終點和中途路線控點。

撥打 const {Route} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

computeRoutes
computeRoutes(request)
參數: 
傳回值:  Promise<{
  routes:Array<Route> optional,
  fallbackInfo:FallbackInfo optional,
  geocodingResults:GeocodingResults optional
}>
指定一組終點和中途路線控點,傳回主要路線和選用的替代路線。

注意:使用這個方法時,您必須設定 ComputeRoutesRequest.fields 屬性,在要求中指定回應欄位遮罩。此值為欄位路徑清單。

例如:
  • 所有可用欄位的欄位遮罩:fields: ['*']
  • 路線層級的時長、距離和路徑欄位遮罩:fields: ['durationMillis', 'distanceMeters', 'path']

不建議使用萬用字元回應欄位遮罩 fields: ['*'],原因如下:
  • 只選取需要的欄位,有助於伺服器節省運算週期,讓我們以較低的延遲時間將結果傳回給您。
  • 在實際執行作業中只選取所需欄位,可確保延遲效能穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果您選取所有欄位,或是在頂層選取所有欄位,系統可能會自動在回應中加入我們新增的欄位,導致效能降低。
  • 只選取所需欄位可縮減回應大小,因此透過網路載入的速度會更快。
description
類型:  string optional
路線說明。
distanceMeters
類型:  number optional
路線的移動距離 (以公尺為單位)。
durationMillis
類型:  number optional
導覽路線所需的時間長度 (以毫秒為單位)。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_UNAWARE,這個值就會與 Route.staticDurationMillis 相同。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
legs
類型:  Array<RouteLeg> optional
路線是由多個路段 (路線控點之間的路線區段) 組成。每個路段都對應於兩個非 via 路線控點之間的行程。

例如:
  • 如果路線沒有中繼路線控點,就只有一個路段。
  • 如果路線包含一個非 via 的中途路線控點,則會有兩個路段。
  • 如果路線包含一個 via 中間路線控點,則會有一條路段。
路線段的順序與路線控點的順序相符,也就是從 originintermediates 再到 destination
localizedValues
類型:  RouteLocalizedValues optional
Route 屬性的文字表示法。
optimizedIntermediateWaypointIndices
類型:  Array<number> optional
如果將 ComputeRoutesRequest.optimizeWaypointOrder 設為 true,這個欄位會包含最佳化的中途路線控點順序。否則這個欄位會空白。輸入中提供的第一個中途航點的索引為 0。

舉例來說,如果您輸入:
  • 來源:LA
  • 中繼路線控點:達拉斯、班戈、鳳凰城
  • 目的地:紐約
,而最佳化的中途路線控點順序為鳳凰城、達拉斯、班戈,則這個欄位會是 [2, 0, 1]
path
類型:  Array<LatLngAltitude> optional
路徑的 LatLngAltitude 清單,可用於繪製路徑折線。您可以設定 ComputeRoutesRequest.polylineQuality,控制路徑的精細程度。
polylineDetails
類型:  PolylineDetails optional
內含路徑詳細資料的相關資訊。
routeLabels
類型:  Array<RouteLabel> optional
路線的標籤,可用於識別特定屬性,或與其他屬性比較。
routeToken
類型:  string optional
這個不透明權杖可傳遞至 Navigation SDK,在導航期間重建路線,並在重新規劃路線時,遵守建立路線時的原始意圖。請將這個權杖視為不透明的 Blob。請勿比較不同要求中的值,因為即使服務傳回完全相同的路線,這個值也可能會變更。

注意:只有將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL 的要求,才能使用 routeToken。如果要求有 via 路線控點,則不支援這項功能。
speedPaths
類型:  Array<SpeedPath> optional
路線路徑的區段分組,以及對應的速讀。如要填入這個欄位,ComputeRoutesRequest.routingPreference 必須設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,且 ComputeRoutesRequest.extraComputations 必須包含 TRAFFIC_ON_POLYLINE
staticDurationMillis
類型:  number optional
不考量路況的路線行車時間。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
travelAdvisory
類型:  RouteTravelAdvisory optional
路線的其他資訊。
viewport
類型:  LatLngBounds optional
路徑的可視區域定界框。
warnings
類型:  Array<string> optional
顯示路線時要顯示的警告陣列。
createPolylines
createPolylines([options])
參數: 
傳回值:  Array<Polyline>
根據可用資料建立路線的折線。

多模態折線:
  • 需求條件:
  • 為每個多模式路線區隔建立折線。系統會根據路段的交通方式和大眾運輸路線資料 (如有) 設定折線樣式。您可以傳遞選項,根據交通方式和大眾運輸路線變更折線樣式。

車流量折線:
整體折線:
  • 需求條件:
  • 為整條路線建立單一折線,並套用預設樣式。您可以傳遞選項,根據路線的交通方式變更折線樣式。如要進一步自訂,請直接使用 Route.pathRouteLeg.path 建立折線。
createWaypointAdvancedMarkers
createWaypointAdvancedMarkers([options])
為每個途中的航點建立標記,並依序標示為「A」、「B」、「C」等。標記已套用預設樣式。您可以傳遞選項,根據標記索引或對應 RouteLeg 的屬性變更標記樣式。如果路線沒有路段,WaypointMarkerDetails.leg 參數就會未定義。

必須在 ComputeRoutesRequest.fields 中要求 "legs" 欄位,才能納入中途停靠點。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

ComputeRoutesRequest 介面

google.maps.routes.ComputeRoutesRequest 介面

要求路線。

destination
路線目的地。以字串形式傳遞的值可以是地址、plus code 或 Place 資源名稱。系統計算路線時不會考量海拔高度值。
fields
類型:  Iterable<string>
要擷取的欄位集合。為所有欄位指定 ["*"]
origin
路線的起點。以字串形式傳遞的值可以是地址、plus code 或 Place 資源名稱。系統計算路線時不會考量海拔高度值。
arrivalTime optional
類型:  Date optional
抵達時間。

注意:只有在「ComputeRoutesRequest.travelMode」設為「TRANSIT」時,才能設定這項功能。你可以指定 ComputeRoutesRequest.departureTimeComputeRoutesRequest.arrivalTime,但不能同時指定兩者。大眾運輸行程最多可查詢過去 7 天或未來 100 天的行程。
computeAlternativeRoutes optional
類型:  boolean optional
指定是否要計算替代路線。如果要求含有中繼路線控點,系統不會傳回替代路線。
departureTime optional
類型:  Date optional
出發時間。如未設定這個值,系統會預設為您提出要求的時間。

注意:只有在 ComputeRoutesRequest.travelMode 設為 TRANSIT 時,才能指定過去的時間。大眾運輸行程最多可查詢過去 7 天或未來 100 天的行程。
extraComputations optional
可用於完成要求的額外運算清單。

注意:這些額外運算可能會在回應中傳回額外欄位。這些額外欄位也必須在 ComputeRoutesRequest.fields 中指定,才能在回應中傳回。
intermediates optional
類型:  Iterable<Waypoint> optional
路線上的一組路線控點 (不含終點),可停靠或經過。最多可新增 25 個中繼路線控點。
language optional
類型:  string optional
BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱「Unicode 語言代碼」。如需支援的語言清單,請參閱「語言支援」一文。如果未提供這個值,系統會根據 Google Maps JavaScript API 本地化設定推斷語言。否則系統會根據來源位置推斷語言。
optimizeWaypointOrder optional
類型:  boolean optional
如果設為 true,服務會重新排序指定的中間路線控點,盡量降低路線的整體成本。如果任何中繼路線控點是途經路線控點,要求就會失敗。在回覆中使用 Route.optimizedIntermediateWaypointIndices 尋找新的排序方式。如果 "optimizedIntermediateWaypointIndices" 未在 ComputeRoutesRequest.fields 中要求,要求就會失敗。如果設為 false,回應中的 Route.optimizedIntermediateWaypointIndices 會是空白。
polylineQuality optional
類型:  PolylineQuality optional
指定折線品質的偏好設定。
region optional
類型:  string optional
區碼,指定為 ccTLD (「頂層網域」) 的兩位字元值。詳情請參閱「國家/地區代碼頂層網域」。如果未提供這個值,系統會根據 Google Maps JavaScript API 的本地化設定推斷區域。否則,系統會根據來源位置推斷地區。
requestedReferenceRoutes optional
類型:  Iterable<ReferenceRoute> optional
指定要在要求中計算哪些參考路線 (預設路線除外)。參考路線是指路線計算目標與預設路線不同的路線。舉例來說,FUEL_EFFICIENT 參考路線計算會考量各種參數,產生最省油的路線。使用這項功能時,請在產生的路線中尋找 Route.routeLabels
routeModifiers optional
類型:  RouteModifiers optional
一組必須滿足的條件,會影響路徑的計算方式。舉例來說,你可以指定要避開的特徵,例如收費路段或高速公路。
routingPreference optional
類型:  RoutingPreference optional
指定路線的計算方式。伺服器會嘗試使用所選的轉送偏好設定來計算路徑。如果路由偏好設定導致錯誤或延遲時間過長,系統會傳回錯誤。只有在 ComputeRoutesRequest.travelModeDRIVINGTWO_WHEELER 時,才能指定這個選項,否則要求會失敗。
trafficModel optional
類型:  TrafficModel optional
指定計算交通時間時要採用的假設。這項設定會影響 Route.durationMillisRouteLeg.durationMillis 的值,其中包含根據歷來平均值預估的交通時間。ComputeRoutesRequest.trafficModel 僅適用於將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARE_OPTIMAL,並將 ComputeRoutesRequest.travelMode 設為 DRIVING 的要求。預設值為 BEST_GUESS
transitPreference optional
類型:  TransitPreference optional
指定偏好設定,影響 TRANSIT 路線傳回的路線。

注意:只有在 ComputeRoutesRequest.travelMode 設為 TRANSIT 時才能指定。
travelMode optional
類型:  TravelMode optional
指定交通方式。
units optional
類型:  UnitSystem optional
指定顯示欄位的測量單位,例如導航指示。路線、路段、步距和時間長度所用的度量單位不受這個值影響。如未提供這個值,系統會根據來源位置推斷顯示單位。

ComputeRoutesExtraComputation 常數

google.maps.routes.ComputeRoutesExtraComputation 常數

Route.computeRoutes 要求執行的額外運算。

撥打 const {ComputeRoutesExtraComputation} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

FLYOVER_INFO_ON_POLYLINE 路線的立體空照圖資訊。如要傳回這項資訊,必須在 ComputeRoutesRequest.fields 中指定 "polylineDetails" 欄位。目前只有印度特定都會區會填入這項資料。這項功能仍在實驗階段,SKU/費用可能會有所變動。
FUEL_CONSUMPTION 路線的預估燃料耗量。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 導覽指示會以格式化的 HTML 文字字串呈現。這類內容應按原樣讀取,且僅供顯示之用。請勿以程式輔助方式剖析。
NARROW_ROAD_INFO_ON_POLYLINE 路線的狹窄道路資訊。如要傳回這項資訊,必須在 ComputeRoutesRequest.fields 中指定 "polylineDetails" 欄位。目前只有印度特定都會區會填入這項資料。這項功能仍在實驗階段,SKU/費用可能會有所變動。
TOLLS 路線的收費資訊。
TRAFFIC_ON_POLYLINE 路線的車流量監測折線。

DirectionalLocationLiteral 介面

google.maps.routes.DirectionalLocationLiteral 介面

為方便起見,系統接受物件常值,取代 DirectionalLocation 例項。Maps JS API 遇到這些字元時,會將其轉換為 DirectionalLocation

這個介面會擴充 LatLngAltitudeLiteral

heading optional
類型:  number optional
與車流方向相關的羅盤方位。航向值可以是 0 到 360 之間的數字,其中 0 代表正北方的航向,90 代表正東方的航向,以此類推。這個欄位僅適用於 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
已繼承: altitudelatlng

DirectionalLocation class

google.maps.routes.DirectionalLocation class

封裝地理點和選用標題。

這個類別會擴充 LatLngAltitude

這個類別會實作 DirectionalLocationLiteral

撥打 const {DirectionalLocation} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

繼承: LatLngAltitude
heading
類型:  number optional
與車流方向相關的羅盤方位。航向值可以是 0 到 360 之間的數字,其中 0 代表正北方的航向,90 代表正東方的航向,以此類推。這個欄位僅適用於 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
已繼承: altitudelatlng
toJSON
toJSON()
參數:
轉換為物件。
繼承: equals

FallbackInfo class

google.maps.routes.FallbackInfo class

Route.computeRoutes 回覆中使用備用結果的方式和原因相關的資訊。如果設定這個欄位,表示伺服器使用與偏好模式不同的轉送模式做為備援。

撥打 const {FallbackInfo} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

reason
類型:  FallbackReason optional
系統改用備用回覆而非原始回覆的原因。只有在觸發備援模式並傳回備援回應時,才會填入這個欄位。
routingMode
類型:  FallbackRoutingMode optional
回覆使用的轉送模式。如果系統觸發備援,模式可能與原始用戶端要求中設定的轉送偏好設定不同。

FallbackReason constants

google.maps.routes.FallbackReason 常數

Route.computeRoutes 回應中傳回備用回覆的原因。

撥打 const {FallbackReason} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

LATENCY_EXCEEDED 我們無法及時以偏好的路徑模式完成計算,但已透過替代模式計算出結果。
SERVER_ERROR 使用偏好的路徑模式計算路線時發生伺服器錯誤,但我們已透過替代模式計算出結果。

FallbackRoutingMode 常數

google.maps.routes.FallbackRoutingMode 常數

Route.computeRoutes 回應中傳回備援回覆時,實際使用的路徑模式。

撥打 const {FallbackRoutingMode} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

TRAFFIC_AWARE 指出用來計算回覆的 TRAFFIC_AWARE RoutingPreference
TRAFFIC_UNAWARE 指出用來計算回覆的 TRAFFIC_UNAWARE RoutingPreference

GeocodedWaypoint 類別

google.maps.routes.GeocodedWaypoint class

用來做為中途點的地點的地理編碼。只有地址航點會填入這項資料。包含地理編碼結果的詳細資料,用於判斷地址的地理編碼結果。

撥打 const {GeocodedWaypoint} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

geocoderStatus
類型:  RPCStatus optional
表示地理編碼作業產生的狀態碼。
intermediateWaypointRequestIndex
類型:  number optional
要求中對應中途停靠點的索引。只有在對應路線控點是中繼路線控點時,才會填入這個欄位。
partialMatch
類型:  boolean
指出地理編碼器沒有傳回與原始要求完全相符的結果,但可以比對部分要求的地址。建議您比對原始要求,檢查是否有拼寫錯誤和/或不完整的地址。
placeId
類型:  string
這筆結果的地點 ID。
types
類型:  Array<string>
結果類型,以零或多個類型標記的形式呈現。如要瞭解支援的類型,請參閱 https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

GeocodingResults class

google.maps.routes.GeocodingResults class

包含起點、目的地和中繼路線控點的 GeocodedWaypoint。只有地址航點會填入這項資料。

撥打 const {GeocodingResults} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

destination
類型:  GeocodedWaypoint optional
目的地的地理編碼路線控點。
intermediates
類型:  Array<GeocodedWaypoint> optional
中間地理編碼路線控點的清單,每個路線控點都包含索引欄位,對應於要求中指定路線控點順序的以零為準位置。
origin
類型:  GeocodedWaypoint optional
出發地的地理編碼路線控點。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

MultiModalSegment class

google.maps.routes.MultiModalSegment class

提供RouteLeg.steps路線中多種交通方式路段的摘要資訊。多模態區隔是指一或多個連續的 RouteLegStep,具有相同的 TravelMode

撥打 const {MultiModalSegment} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

instructions
類型:  string optional
如何瀏覽這個多模態區隔的說明。
maneuver
類型:  string optional
這個步驟要執行的導航動作。如需可能值的清單,請參閱「機動」一節。
stepEndIndex
類型:  number
多模態區隔結尾的對應 RouteLegStep 索引。
stepStartIndex
類型:  number
多模態區段開頭的對應 RouteLegStep 索引。
travelMode
類型:  TravelMode optional
這個多模式路段使用的交通方式。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

PolylineDetailInfo class

google.maps.routes.PolylineDetailInfo class

內含折線路段的道路特徵相關資訊。

撥打 const {PolylineDetailInfo} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

endIndex
類型:  number optional
折線中這項道路特徵的結尾索引。
presence
類型:  RoadFeatureState optional
表示折線沿線是否有道路特徵。
startIndex
類型:  number optional
這項道路特徵在折線中的起始索引。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

PolylineDetails class

google.maps.routes.PolylineDetails class

對應於折線特定索引或連續區段的詳細資料。假設折線的點為 P_0、P_1、...、P_N (從零開始的索引),則 PolylineDetails 會說明特定間隔的道路特徵。

撥打 const {PolylineDetails} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

flyoverInfo
折線沿途的立體空照圖詳細資料。
narrowRoadInfo
折線沿途的狹窄道路詳細資料。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

PolylineQuality 常數

google.maps.routes.PolylineQuality 常數

指定折線的品質。

撥打 const {PolylineQuality} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

HIGH_QUALITY 指定以比 OVERVIEW 更多點組成的優質折線,但回應大小會增加。需要更精確的值時,請使用這個值。
OVERVIEW 指定由少量點組成的概覽折線。相較於 HIGH_QUALITY,這個選項的請求延遲時間較短。顯示路線總覽時,請使用這個值。

ReferenceRoute 常數

google.maps.routes.ReferenceRoute 常數

ComputeRoutesRequest 上支援的參考路線。

撥打 const {ReferenceRoute} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

FUEL_EFFICIENT 省油路線。
SHORTER_DISTANCE 行車距離較短的路線。

RoadFeatureState constants

google.maps.routes.RoadFeatureState 常數

封裝一段折線沿線道路特徵的狀態。

撥打 const {RoadFeatureState} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

DOES_NOT_EXIST 道路特徵不存在。
EXISTS 道路特徵存在。

RouteLabel 常數

google.maps.routes.RouteLabel 常數

路線的標籤,可用於識別特定房源,並與其他房源比較。

撥打 const {RouteLabel} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

DEFAULT_ROUTE 系統在計算路線時傳回的預設「最佳」路線。
DEFAULT_ROUTE_ALTERNATE 替代預設的「最佳」路線。指定 ComputeRoutesRequest.computeAlternativeRoutes 時,系統會傳回這類路線。
FUEL_EFFICIENT 省油路線。標示這個值的路線會根據燃油消耗量等環保參數進行最佳化。
SHORTER_DISTANCE 路線的行車距離較短。這是實驗功能。

RouteLeg class

google.maps.routes.RouteLeg class

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

撥打 const {RouteLeg} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

distanceMeters
類型:  number
路線段的行車距離 (以公尺為單位)。
durationMillis
類型:  number optional
導覽路線路段所需的時間長度 (以毫秒為單位)。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_UNAWARE,這個值就會與 staticDurationMillis 相同。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
endLocation
類型:  DirectionalLocation optional
這個路段的終點。這個位置可能與 ComputeRoutesRequest.destination 不同。舉例來說,如果 ComputeRoutesRequest.destination 不在道路附近,這就是道路上的點。
localizedValues
類型:  RouteLegLocalizedValues optional
RouteLeg 屬性的文字表示法。
path
類型:  Array<LatLngAltitude>
路線段的 LatLngAltitude 清單,可用於繪製路線段折線。您可以設定 ComputeRoutesRequest.polylineQuality,控制路徑的精細程度。
speedPaths
類型:  Array<SpeedPath>
路線路段路徑的分組,以及對應的速讀。如要填入這個欄位,ComputeRoutesRequest.routingPreference 必須設為 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL,且 ComputeRoutesRequest.extraComputations 必須包含 TRAFFIC_ON_POLYLINE
startLocation
類型:  DirectionalLocation optional
這個路段的起點。這個位置可能與 ComputeRoutesRequest.origin 不同。舉例來說,如果 ComputeRoutesRequest.origin 不在道路附近,這就是道路上的點。
staticDurationMillis
類型:  number optional
不考量路況的情況下,通過路段所需的時間。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
steps
類型:  Array<RouteLegStep>
這個路段中的區隔步驟陣列。每個步驟代表一項導航指示。
stepsOverview
類型:  StepsOverview optional
RouteLeg中的步驟概要資訊。這個欄位只會填入 TRANSIT 路線。
travelAdvisory
類型:  RouteLegTravelAdvisory optional
包含使用者應瞭解的其他資訊,例如路線路段上可能的交通區域限制。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteLegLocalizedValues class

google.maps.routes.RouteLegLocalizedValues class

RouteLeg 的文字表示法。

撥打 const {RouteLegLocalizedValues} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

distance
類型:  string optional
路段的行駛距離,以文字形式表示。
distanceLanguage
類型:  string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
duration
類型:  string optional
以文字形式表示的時長,並根據查詢區域進行本地化。將路況納入考量。
durationLanguage
類型:  string optional
時長文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
類型:  string optional
以文字形式表示的時長,未考量流量狀況。
staticDurationLanguage
類型:  string optional
靜態時間長度文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteLegStep class

google.maps.routes.RouteLegStep class

包含 RouteLeg 的區段。每個步驟都對應一項導航指示。路段是由多個步驟組成。

撥打 const {RouteLegStep} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

distanceMeters
類型:  number
這個步驟的移動距離 (以公尺為單位)。
endLocation
類型:  DirectionalLocation optional
這個步驟的終點。
instructions
類型:  string optional
如何完成這個步驟。
localizedValues
類型:  RouteLegStepLocalizedValues optional
RouteLegStep 屬性的文字表示法。
maneuver
類型:  string optional
這個步驟要執行的導航動作。如需可能值的清單,請參閱「機動」一節。
path
類型:  Array<LatLngAltitude>
路徑段步驟的 LatLngAltitude 清單,可用於繪製路徑段步驟折線。您可以設定 ComputeRoutesRequest.polylineQuality,控制路徑的精細程度。必須在 ComputeRoutesRequest.fields 中要求 "path" 欄位,系統才會填入這個欄位。
startLocation
類型:  DirectionalLocation optional
這個步驟的起點。
staticDurationMillis
類型:  number optional
不考量路況,通過這個步驟所需的時間。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
transitDetails
類型:  TransitDetails optional
如果交通方式為 TRANSIT,則會顯示這個步驟的詳細資料。
travelMode
類型:  TravelMode optional
這個步驟使用的交通方式。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteLegStepLocalizedValues class

google.maps.routes.RouteLegStepLocalizedValues class

RouteLegStep 屬性的文字表示法。

撥打 const {RouteLegStepLocalizedValues} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

distance
類型:  string optional
以文字形式表示路線路段步驟的行車距離。
distanceLanguage
類型:  string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
類型:  string optional
以文字形式表示的時長,未考量流量狀況。
staticDurationLanguage
類型:  string optional
靜態時間長度文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteLegTravelAdvisory 類別

google.maps.routes.RouteLegTravelAdvisory class

包含使用者應在 RouteLeg 中瞭解的其他資訊。

撥打 const {RouteLegTravelAdvisory} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

speedReadingIntervals
類型:  Array<SpeedReadingInterval> optional
快速讀取間隔,詳細說明流量密度。適用於 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。這些間隔會涵蓋 RouteLeg 的整條折線,且不會重疊。指定間隔的起點與前一個間隔的終點相同。

示例:
  polyline: A ---- B ---- C ---- D ---- E ---- F ---- G 
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
類型:  TollInfo optional
內含特定 RouteLeg 的收費資訊。只有在 RouteLeg 預計會收取通行費時,才會填入這個欄位。如果已設定這個欄位,但 TollInfo.estimatedPrices 未填入任何值,則表示路線路段包含收費路段,但預估價格不明。如果這個欄位留空,表示 RouteLeg上沒有收費站。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteLocalizedValues class

google.maps.routes.RouteLocalizedValues class

Route 屬性的文字表示法。

撥打 const {RouteLocalizedValues} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

distance
類型:  string optional
以文字形式表示路線的行車距離。
distanceLanguage
類型:  string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
duration
類型:  string optional
以文字形式表示的時長,並根據查詢區域進行本地化。考量路況。注意:如果未要求提供即時路況資訊,這個值會與 staticDuration 的值相同。
durationLanguage
類型:  string optional
時長文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier
staticDuration
類型:  string optional
以文字形式表示的時長,未考量流量狀況。
staticDurationLanguage
類型:  string optional
靜態時間長度文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。
transitFare
類型:  string optional
以文字形式表示的大眾運輸票價。
transitFareLanguage
類型:  string optional
大眾運輸票價文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RouteModifiers 介面

google.maps.routes.RouteModifiers 介面

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

avoidFerries optional
類型:  boolean optional
如果設為「避開渡輪」,系統會盡量避開渡輪,優先選擇不含渡輪的路線。true僅適用於 DRIVINGTWO_WHEELER TravelMode
avoidHighways optional
類型:  boolean optional
如果設為「true」,系統會盡量避開高速公路,優先選擇不含高速公路的路線。僅適用於 DRIVINGTWO_WHEELER TravelMode
avoidIndoor optional
類型:  boolean optional
如果設為 true,系統會盡量避開室內導航,優先選擇不含室內導航的路線。僅適用於 WALKING TravelMode
avoidTolls optional
類型:  boolean optional
設為 true 時,系統會盡量避開收費道路,優先選擇不含收費道路的路線。僅適用於 DRIVINGTWO_WHEELER TravelMode
tollPasses optional
類型:  Iterable<string> optional
內含收費路段通行證的相關資訊。如果提供收費路段通行證,API 會嘗試傳回通行證價格。如果未提供收費路段通行證,API 會將通行證視為不明,並嘗試傳回現金價格。僅適用於 DRIVINGTWO_WHEELER TravelMode。如需有效值的清單,請參閱「TollPass」。
vehicleInfo optional
類型:  VehicleInfo optional
指定車輛資訊。

RoutePolylineDetails interface

google.maps.routes.RoutePolylineDetails 介面

路線某個部分的詳細資料,對應於可用於自訂折線樣式的折線。

speed optional
類型:  Speed optional
對應這條折線的路段朗讀速度。只有提供交通資訊的路線才會顯示這項資料。
transitDetails optional
類型:  TransitDetails optional
與這條折線對應的路線區段大眾運輸詳細資料。只有包含大眾運輸資訊的路線才會填入這項資料。
travelMode optional
類型:  TravelMode optional
與這條折線對應的路段交通方式。如為交通資訊折線,則為空白。

RoutePolylineOptions 介面

google.maps.routes.RoutePolylineOptions 介面

建立路徑折線的選項。

colorScheme optional
類型:  ColorScheme optional
用於折線的色彩配置。如果指定為 FOLLOW_SYSTEM,且地圖 colorScheme 也為 FOLLOW_SYSTEM,系統會以與地圖相同的深色/淺色模式繪製折線。如未指定,Route.createPolylines 會嘗試使用地圖的 colorScheme,或改回系統預設值。
polylineOptions optional
自訂折線樣式的選項。可以是套用至路線所有折線的 PolylineOptions 物件,也可以是採用預設 PolylineOptionsRoutePolylineDetails,並傳回要套用至該折線的 PolylineOptions 的函式。

RouteTravelAdvisory class

google.maps.routes.RouteTravelAdvisory class

包含使用者應在 Route 中瞭解的其他資訊。

撥打 const {RouteTravelAdvisory} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

fuelConsumptionMicroliters
類型:  number optional
預測的燃料消耗量 (以微升為單位)。

注意:如果燃料消耗量超過 2^53 微升,這個值會是 Number.POSITIVE_INFINITY
routeRestrictionsPartiallyIgnored
類型:  boolean optional
Route可能設有不適合所要求交通方式或路線修飾符的限制。
speedReadingIntervals
類型:  Array<SpeedReadingInterval> optional
快速讀取間隔,詳細說明流量密度。適用於 TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。這些間隔會涵蓋 Route 的整條折線,且不會重疊。指定間隔的起點與前一個間隔的終點相同。

示例:
  polyline: A ---- B ---- C ---- D ---- E ---- F ---- G 
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
類型:  TollInfo optional
內含 Route 的收費資訊。只有在 Route 預計會收取通行費時,才會填入這個欄位。如果已設定這個欄位,但 TollInfo.estimatedPrices 未填入任何值,則表示路線包含收費路段,但預估價格不明。如果這個欄位留空,表示 Route上沒有收費站。
transitFare
類型:  Money optional
如果存在,則包含這項 Route 的總車資或票價。這個屬性只會針對 TRANSIT ComputeRoutesRequest.travelMode 傳回,且僅適用於所有大眾運輸步驟皆有車資資訊的路線。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

RoutingPreference 常數

google.maps.routes.RoutingPreference 常數

計算路線時應考量的因素。

撥打 const {RoutingPreference} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

TRAFFIC_AWARE 計算路線時會考量即時路況。與 TRAFFIC_AWARE_OPTIMAL 相比,部分最佳化項目可大幅縮短延遲時間。
TRAFFIC_AWARE_OPTIMAL 計算路線時會考量即時路況,但不套用大部分的效能最佳化設定。使用這個值會產生最高延遲。
TRAFFIC_UNAWARE 計算路線時不會考量即時路況。如果路況不重要或不適用,就很適合使用這項設定。使用這個值可產生最低延遲時間。

速度 常數

google.maps.routes.Speed 常數

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

撥打 const {Speed} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

NORMAL 正常速度,車流暢通。
SLOW 偵測到車流減緩,車流中等。
TRAFFIC_JAM 車流堵塞。

SpeedPath 介面

google.maps.routes.SpeedPath 介面

將路徑間隔的 LatLngAltitude 與該間隔的讀取速度分組。

path
類型:  Array<LatLngAltitude>
這條速度路徑涵蓋的路徑。
speed optional
類型:  Speed optional
路徑的速讀。

SpeedReadingInterval class

google.maps.routes.SpeedReadingInterval class

折線或路徑上連續路段的車流密度指標。假設路徑的點為 P_0、P_1、...、P_N (從零開始的索引),SpeedReadingInterval 說明間隔的交通密度。

撥打 const {SpeedReadingInterval} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

endPolylinePointIndex
類型:  number optional
折線中這個間隔的結尾索引。
speed
類型:  Speed optional
這個時間間隔內的車速。
startPolylinePointIndex
類型:  number optional
折線中這個間隔的起始索引。
toJSON
toJSON()
參數:
傳回值:
轉換為物件。

StepsOverview class

google.maps.routes.StepsOverview class

提供 RouteLeg.steps 清單的總覽資訊。

撥打 const {StepsOverview} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

multiModalSegments
RouteLeg.steps不同多模態區隔的摘要資訊。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TollInfo class

google.maps.routes.TollInfo class

封裝 RouteRouteLeg 的收費資訊。

撥打 const {TollInfo} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

estimatedPrices
類型:  Array<Money> optional
對應 RouteRouteLeg 的通行費金額。這份清單包含各幣別的金額,這些是收費站預計收取的費用。通常來說,如果路線有過路費,且以單一幣別支付,這份清單只會包含一個項目。如果是國際行程,這份清單可能包含多個項目,反映不同幣別的通行費。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TransitAgency class

google.maps.routes.TransitAgency class

運輸公司的相關資訊。

撥打 const {TransitAgency} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

name
類型:  string optional
這間運輸公司的名稱。
phoneNumber
類型:  string optional
運輸公司特定地區格式的電話號碼。
url
類型:  URL optional
運輸公司的網址。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TransitDetails class

google.maps.routes.TransitDetails class

路線中轉乘步驟的其他資訊。

撥打 const {TransitDetails} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

arrivalStop
類型:  TransitStop optional
步驟的抵達站點資訊。
arrivalTime
類型:  Date optional
該步驟的預計到達時間。
departureStop
類型:  TransitStop optional
步驟的起點站資訊。
departureTime
類型:  Date optional
該步驟的預計出發時間。
headsign
類型:  string optional
指定這條路線的行進方向,如交通工具或出發站上所標示的方向。方向通常是終點站。
headwayMillis
類型:  number optional
指定從目前同一站點出發的預計間隔時間 (以毫秒為單位)。舉例來說,假設班距值為 600,000,則表示如果錯過上一班公車,下一班預計要等 10 分鐘。

注意:如果車距超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY
stopCount
類型:  number
從出發站到抵達站的停靠站數量。這項數量包含抵達站,但不包含出發站。舉例來說,如果路線是從 A 站出發,途經 B 站和 C 站,最後抵達 D 站,則 stopCount 會是 3。
transitLine
類型:  TransitLine optional
步驟中使用的大眾運輸路線相關資訊。
tripShortText
類型:  string optional
時刻表和看板上顯示的文字,可供乘客識別大眾運輸行程。這段文字可做為服務當天行程的專屬 ID。舉例來說,Amtrak 列車「538」於平日 15:10 從加州聖荷西出發,前往加州沙加緬度。tripShortText
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TransitLine class

google.maps.routes.TransitLine class

大眾運輸路線的相關資訊。

撥打 const {TransitLine} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

agencies
類型:  Array<TransitAgency>
營運這條大眾運輸路線的運輸公司。
color
類型:  string optional
這條路線常用的顏色,以十六進位表示。
iconURL
類型:  URL optional
這條路線相關圖示的網址。
name
類型:  string optional
這條大眾運輸路線的全名,例如「8 Avenue Local」。
shortName
類型:  string optional
這條大眾運輸路線的簡稱。通常是路線編號,例如「M7」或「355」。
textColor
類型:  string optional
這條路線常用的文字顏色,以十六進位表示。
url
類型:  URL optional
這條大眾運輸路線的網址 (由運輸公司提供)。
vehicle
類型:  TransitVehicle optional
這條大眾運輸路線使用的交通工具類型。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TransitPreference 介面

google.maps.routes.TransitPreference 介面

影響傳回路線的 TRANSIT 路線偏好設定。

allowedTransitModes optional
類型:  Iterable<TransitMode> optional
取得 TRANSIT 路線時要使用的一組交通方式。預設為所有支援的交通方式。
routingPreference optional
類型:  TransitRoutePreference optional
指定後會影響傳回的 TRANSIT 路線。

TransitStop 類別

google.maps.routes.TransitStop class

大眾運輸站牌的相關資訊。

撥打 const {TransitStop} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

location
類型:  DirectionalLocation optional
停靠站位置 (以經緯度座標表示) 和選填的航向。
name
類型:  string optional
大眾運輸停靠站的名稱。
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

TransitVehicle class

google.maps.routes.TransitVehicle class

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

撥打 const {TransitVehicle} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

iconURL
類型:  URL optional
與此車輛類型相關聯的圖示網址。
localIconURL
類型:  URL optional
此交通工具類型相關圖示的網址 (根據本地交通標誌)。
name
類型:  string optional
這輛車的名稱 (大寫)。
nameLanguage
類型:  string optional
車輛名稱文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱:https://www.unicode.org/reports/tr35/#Unicode_locale_identifier
vehicleType
類型:  string optional
toJSON
toJSON()
參數:
傳回值:  Object
轉換為物件。

VehicleEmissionType constants

google.maps.routes.VehicleEmissionType 常數

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

撥打 const {VehicleEmissionType} = await google.maps.importLibrary("routes") 即可存取。
請參閱「Maps JavaScript API 中的程式庫」。

DIESEL 柴油車。
ELECTRIC 以電力為動力的車輛。
GASOLINE 汽油車。
HYBRID 油電混合車 (例如汽油 + 電動)。

VehicleInfo 介面

google.maps.routes.VehicleInfo 介面

包含車輛資訊,例如車輛排放類型。

emissionType optional
類型:  VehicleEmissionType optional
說明車輛的排放類型。僅適用於「DRIVING」旅行模式。

Waypoint 介面

google.maps.routes.Waypoint 介面

代表路線中的途經點。

location
航點的位置。字串可以是地址、Plus Code 或地點資源名稱。
sideOfRoad optional
類型:  boolean optional
表示這個路線控點的位置偏好車輛停靠在道路的特定一側。設定這個值後,路線會經過該位置,車輛就能在道路中心偏向該位置的一側停靠。這個選項僅適用於 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode
vehicleStopover optional
類型:  boolean optional
表示車輛應停靠的路線控點,目的是接送乘客。設定這個值後,計算出的路線就不會包含不適合接送乘客的道路上非 via 路線控點。這個選項僅適用於 DRIVINGTWO_WHEELER ComputeRoutesRequest.travelMode,且 Waypoint.location 不是 stringPlace
via optional
類型:  boolean optional
將這個中途點標示為里程碑,而非停靠點。對於 ComputeRoutesRequest 中的每個非 via 航點,Route.computeRoutes 會在 Route.legs 陣列中附加項目,提供該段行程中停靠站的詳細資料。

如要讓路線通過這個中途點而不停靠,請將這個值設為 true。透過路線控點不會導致項目新增至 Route.legs 陣列,但會將旅程路線導向路線控點。

注意事項:
  • 您只能在中間路線控點上設定這個值。如果您在終端路線控點上設定這個欄位,要求就會失敗。
  • 如果 ComputeRoutesRequest.optimizeWaypointOrder 設為 true,這個欄位就不能設為 true,否則要求會失敗。

WaypointMarkerDetails interface

google.maps.routes.WaypointMarkerDetails 介面

可用於自訂標記樣式的中途點詳細資料。

index
類型:  number
標記的索引。
totalMarkers
類型:  number
路線中的標記總數。
leg optional
類型:  RouteLeg optional
標記所屬的航段。如果路線沒有路段,則為空白。