Routes Data

Route 類別

class google.maps.routes.Route
library "routes"

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

const {Route} = await google.maps.importLibrary("routes");
computeRoutes
computeRoutes(request)
參數:
傳回值: Promise<{
  routes:Array<Route> optional,
  fallbackInfo:FallbackInfo optional,
  geocodingResults:GeocodingResults optional
}>
根據一組起點、終點和中途路線控點,傳回主要路線和選用的替代路線。

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

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

不建議使用萬用字元回應欄位遮罩 fields: ['*'],原因如下:
  • 只選取所需欄位,可節省伺服器的運算週期,縮短傳回結果的延遲時間。
  • 在正式工作只選取所需欄位,可確保延遲時間穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果選取所有欄位,或選取頂層的所有欄位,則可能會發生效能降低的情況,因為我們新增的任何新欄位都會自動包含在回應中。
  • 只選取所需欄位,可縮減回應大小,進而加快網路載入速度。
description
readonly
類型: string optional
路徑說明。
distanceMeters
readonly
類型: number optional
路線的移動距離 (以公尺為單位)。
durationMillis
readonly
類型: number optional
沿著路線導航所需的時間長度 (以毫秒為單位)。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_UNAWARE,這個值會與 Route.staticDurationMillis 相同。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

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

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

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

注意:只有在要求將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL 時,才能使用 routeToken。不支援含有 via 個路線控點的要求。
speedPaths
readonly
類型: Array<SpeedPath> optional
路線路徑各區段的分組,以及對應的速度讀數。如要填入這個欄位,ComputeRoutesRequest.routingPreference 必須設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,且 ComputeRoutesRequest.extraComputations 必須包含 TRAFFIC_ON_POLYLINE。
staticDurationMillis
readonly
類型: number optional
不考慮路況時,沿路線行駛所需的時間。

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

多模態折線:
  • 需求條件:
  • 為每個多運具路線區段建立折線。折線會根據路段交通工具和轉乘路線資料 (如有) 設定樣式。您可以傳入選項,根據交通工具和轉乘路線變更折線樣式。

車流量折線:
整體折線:
  • 需求條件:
  • 為整條路線建立單一折線,並套用預設樣式。您可以傳入選項,根據路線交通方式變更折線樣式。如要進一步自訂,請直接使用 Route.path 或 RouteLeg.path 建立折線。
AlphacreatePopover
createPopover()
參數:無
傳回值: Promise<PopoverElement>
根據路線的可用資料,為路線建立彈出式視窗,並以適合在地圖上加上路線註解的方式設定。目前使用 Route.localizedValues、Route.path 和 Route.legs (如有)。
createWaypointAdvancedMarkers
createWaypointAdvancedMarkers([options])
為路線建立標記,並為每個路線控點加上「A」、「B」、「C」等標籤。標記會套用預設樣式。您可以傳入選項,根據標記索引或對應 RouteLeg 的屬性,變更標記樣式。如果路線沒有路段,WaypointMarkerDetails.leg 參數就不會定義。

必須在 ComputeRoutesRequest.fields 中要求 "legs" 欄位,才能加入中途路線控點。
AlphacreateWaypointMarkers
參數:
傳回值: Promise<Array<T>>
建立路線起點和終點的標記。除非指定 customOverride 函式,否則標記會套用預設樣式。目前不支援中繼路線控點。

根據預設,建立的標記會將 CollisionBehavior 設為 CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL。根據預設,建立的標記會包含本地化的 title (「起點」或「目的地」),您可以在 forEach 中覆寫。如果是 Marker3DElement 和 Marker3DInteractiveElement 標記,sizePreserved 預設會設為 true,但也可以在 forEach 中覆寫。
沿用: toJSON

ComputeRoutesRequest 介面

介面 google.maps.routes.ComputeRoutesRequest

路線要求。

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

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

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

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

注意:只有在 ComputeRoutesRequest.travelMode 設為 TRANSIT 時,才能指定這個值。
travelMode
選填
類型: TravelMode optional
指定交通方式。
units
選填
類型: UnitSystem optional
指定導航指示等顯示欄位的測量單位。路線、路段、步驟距離和持續時間使用的測量單位不受這個值影響。如未提供這個值,系統會根據起點位置推論顯示單位。

ComputeRoutesExtraComputation 常數

constants google.maps.routes.ComputeRoutesExtraComputation
library "routes"

完成要求時要執行的額外運算。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 ComputeRoutesExtraComputationString 類型定義。

const {ComputeRoutesExtraComputation} = await google.maps.importLibrary("routes");
FLYOVER_INFO_ON_POLYLINE 路線的高架道路資訊。詳情請參閱網路服務說明文件。
FUEL_CONSUMPTION 路線的預估燃料消耗量。詳情請參閱網路服務說明文件。
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS 詳情請參閱網路服務說明文件。
NARROW_ROAD_INFO_ON_POLYLINE 路線的狹窄道路資訊。詳情請參閱網路服務說明文件。
TOLLS 路線的收費資訊。詳情請參閱網路服務說明文件。
TRAFFIC_ON_POLYLINE 路線的車流量監測折線。詳情請參閱網路服務說明文件。

CreateWaypointMarkersOptions 介面

介面 google.maps.routes.CreateWaypointMarkersOptions<T = MarkerElement|Marker3DElement|MarkerInteractiveElement|Marker3DInteractiveElement>

建立路線控點標記的選項。

forEach
選填
類型: function(T): void optional
用於變更所建立元素的自訂函式。預設的 forEach 函式會為每個標記附加 A 到 Z 字元的圖釘。如要採用其他行為,請覆寫這個函式。
markerClass
選填
類型: new () => T optional
要建立的元素建構函式。支援的類型包括:

DirectionalLocationLiteral 介面

interface google.maps.routes.DirectionalLocationLiteral extends LatLngAltitudeLiteral, LatLngLiteral
implemented by DirectionalLocation

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

heading
選填
類型: number optional
與車流方向相關聯的指南針方向。航向值可以是 0 到 360 之間的數字,其中 0 代表正北,90 代表正東,以此類推。這個欄位僅適用於DRIVING和TWO_WHEELER ComputeRoutesRequest.travelMode。
繼承: altitude、lat、lng

DirectionalLocation 類別

class google.maps.routes.DirectionalLocation extends LatLngAltitude implements DirectionalLocationLiteral, LatLngAltitudeLiteral, LatLngLiteral
library "routes"

封裝地理位置點和選用標題。

const {DirectionalLocation} = await google.maps.importLibrary("routes");
沿用: LatLngAltitude
heading
readonly
類型: number optional
與車流方向相關聯的指南針方向。航向值可以是 0 到 360 之間的數字,其中 0 代表正北,90 代表正東,以此類推。這個欄位僅適用於DRIVING和TWO_WHEELER ComputeRoutesRequest.travelMode。
繼承: altitude、lat、lng
toJSON
toJSON([key])
參數:
  • key: string optional
轉換為一般物件。
沿用: equals

FallbackInfo 類別

class google.maps.routes.FallbackInfo
library "routes"

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

const {FallbackInfo} = await google.maps.importLibrary("routes");
reason
readonly
類型: FallbackReason optional
使用備用回應而非原始回應的原因。只有在觸發備用模式並傳回備用回應時,系統才會填入這個欄位。
routingMode
readonly
類型: FallbackRoutingMode optional
回覆使用的轉送模式。如果觸發備用方案,模式可能與原始用戶端要求中設定的路線偏好設定不同。
沿用: toJSON

FallbackReason 常數

constants google.maps.routes.FallbackReason
library "routes"

使用備用回覆的原因。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 FallbackReasonString 類型定義。

const {FallbackReason} = await google.maps.importLibrary("routes");
LATENCY_EXCEEDED 我們無法及時使用您偏好的路線規劃模式完成計算,但可以傳回其他模式的計算結果。詳情請參閱網路服務說明文件。
SERVER_ERROR 使用偏好的路線模式計算路線時,發生伺服器錯誤,但我們能傳回以替代模式計算的結果。詳情請參閱網路服務說明文件。

FallbackRoutingMode 常數

constants google.maps.routes.FallbackRoutingMode
library "routes"

傳回備用回應時實際使用的轉送模式。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 FallbackRoutingModeString 類型定義。

const {FallbackRoutingMode} = await google.maps.importLibrary("routes");
TRAFFIC_AWARE 詳情請參閱網路服務說明文件。
TRAFFIC_UNAWARE 詳情請參閱網路服務說明文件。

GeocodedWaypoint 類別

class google.maps.routes.GeocodedWaypoint
library "routes"

用做路線控點的地點地理編碼。只有地址路線控點會填入這項資料。包含地理編碼結果的詳細資料,用於判斷地址的地理編碼結果。

const {GeocodedWaypoint} = await google.maps.importLibrary("routes");
geocoderStatus
readonly
類型: RPCStatus optional
表示地理編碼作業產生的狀態碼。
intermediateWaypointRequestIndex
readonly
類型: number optional
要求中對應的中繼路線控點索引。只有在對應的路線控點是中繼路線控點時,才會填入資料。
partialMatch
readonly
類型: boolean
指出地理編碼器沒有傳回與原始要求完全比對的結果,但可以比對部分要求的地址。建議您比對原始要求,檢查是否有拼寫錯誤和/或不完整的地址。
placeId
readonly
類型: string
這項結果的地點 ID。
types
readonly
類型: Array<string>
結果類型,格式為零或多個類型標記。如要瞭解支援的類型,請參閱 https://developers.google.com/maps/documentation/geocoding/requests-geocoding#Types。
沿用: toJSON

GeocodingResults 類別

class google.maps.routes.GeocodingResults
library "routes"

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

const {GeocodingResults} = await google.maps.importLibrary("routes");
destination
readonly
類型: GeocodedWaypoint optional
目的地的地理編碼路線控點。
intermediates
readonly
類型: Array<GeocodedWaypoint> optional
中繼地理編碼路線控點清單,每個控點都包含一個索引欄位,對應至路線控點在要求中指定順序的位置 (從零開始)。
origin
readonly
類型: GeocodedWaypoint optional
起點的地理編碼路線控點。
沿用: toJSON

MultiModalSegment 類別

class google.maps.routes.MultiModalSegment
library "routes"

提供路線 RouteLeg.steps 多運具路段的摘要資訊。多模態區段是指一或多個具有相同 TravelMode 的連續 RouteLegStep。

const {MultiModalSegment} = await google.maps.importLibrary("routes");
instructions
readonly
類型: string optional
瀏覽這個多運具區段的操作說明。
maneuver
readonly
類型: string optional
在這個步驟中執行的導航動作。如需可能的值清單,請參閱「Maneuver」。
stepEndIndex
readonly
類型: number
多模態片段結尾的對應 RouteLegStep 索引。
stepStartIndex
readonly
類型: number
多模態片段開頭的對應 RouteLegStep 索引。
travelMode
readonly
類型: TravelMode optional
這個多運具區段使用的交通方式。
沿用: toJSON

PolylineDetailInfo 類別

class google.maps.routes.PolylineDetailInfo
library "routes"

封裝折線路段沿線道路特徵的相關資訊。

const {PolylineDetailInfo} = await google.maps.importLibrary("routes");
endIndex
readonly
類型: number optional
折線中這項道路特徵的結束索引。
presence
readonly
類型: RoadFeatureState optional
表示折線沿線是否有道路特徵。
startIndex
readonly
類型: number optional
折線中這項道路地圖項目的起始索引。
沿用: toJSON

PolylineDetails 類別

class google.maps.routes.PolylineDetails
library "routes"

與指定索引或折線連續線段對應的詳細資料。假設折線包含 P_0、P_1、...、P_N 點 (索引從零開始),PolylineDetails 會描述指定區間的道路地圖項目。

const {PolylineDetails} = await google.maps.importLibrary("routes");
flyoverInfo
readonly
沿著折線的鳥瞰詳細資料。
narrowRoadInfo
readonly
折線沿途的狹窄道路詳細資料。
沿用: toJSON

PolylineQuality 常數

constants google.maps.routes.PolylineQuality
library "routes"

一組指定折線品質的值。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 PolylineQualityString 類型定義。

const {PolylineQuality} = await google.maps.importLibrary("routes");
HIGH_QUALITY 指定高品質折線,由比 OVERVIEW 更多的點組成,但回應大小會增加。詳情請參閱網路服務說明文件。
OVERVIEW 指定總覽折線,由少量點組成。詳情請參閱網路服務說明文件。

ReferenceRoute 常數

constants google.maps.routes.ReferenceRoute
library "routes"

ComputeRoutesRequest 支援的參考路線。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 ReferenceRouteString 類型定義。

const {ReferenceRoute} = await google.maps.importLibrary("routes");
FUEL_EFFICIENT 節能路線。詳情請參閱網路服務說明文件。
SHORTER_DISTANCE 行車距離較短的路線。詳情請參閱網路服務說明文件。

RoadFeatureState 常數

constants google.maps.routes.RoadFeatureState
library "routes"

封裝折線路段的道路特徵狀態。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 RoadFeatureStateString 類型定義。

const {RoadFeatureState} = await google.maps.importLibrary("routes");
DOES_NOT_EXIST 道路地圖項目不存在。詳情請參閱網路服務說明文件。
EXISTS 道路地圖項目存在。詳情請參閱網路服務說明文件。

RouteLabel 常數

constants google.maps.routes.RouteLabel
library "routes"

詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 RouteLabelString 類型定義。

const {RouteLabel} = await google.maps.importLibrary("routes");
DEFAULT_ROUTE 系統會傳回預設的「最佳」路線,詳情請參閱網路服務說明文件。
DEFAULT_ROUTE_ALTERNATE 預設「最佳」路線的替代方案。詳情請參閱網路服務說明文件。
FUEL_EFFICIENT 節能路線。詳情請參閱網路服務說明文件。
SHORTER_DISTANCE 行車距離較短的路線。詳情請參閱網路服務說明文件。

RouteLeg 類別

class google.maps.routes.RouteLeg
library "routes"

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

const {RouteLeg} = await google.maps.importLibrary("routes");
distanceMeters
readonly
類型: number
路線路段的移動距離,以公尺為單位。
durationMillis
readonly
類型: number optional
導航路線航段所需的時間長度 (以毫秒為單位)。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_UNAWARE,這個值會與 staticDurationMillis 相同。如果將 ComputeRoutesRequest.routingPreference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

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

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY。
steps
readonly
類型: Array<RouteLegStep>
步驟陣列,表示這段航程中的區段。每個步驟代表一則導航指示。
stepsOverview
readonly
類型: StepsOverview optional
這個 RouteLeg 中步驟的總覽資訊。這個欄位只會填入 TRANSIT 路線。
travelAdvisory
readonly
類型: RouteLegTravelAdvisory optional
包含使用者應瞭解的其他資訊,例如路線路段可能有的交通區域限制。
沿用: toJSON

RouteLegLocalizedValues 類別

class google.maps.routes.RouteLegLocalizedValues
library "routes"

RouteLeg 的文字表示法。

const {RouteLegLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
類型: string optional
路線路段的移動距離 (文字格式)。
distanceLanguage
readonly
類型: string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

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

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

RouteLegStep 類別

class google.maps.routes.RouteLegStep
library "routes"

包含 RouteLeg 的一部分。一個步驟對應一則導航指示。路線航段由步驟組成。

const {RouteLegStep} = await google.maps.importLibrary("routes");
distanceMeters
readonly
類型: number
這個步驟的移動距離,以公尺為單位。
endLocation
readonly
類型: DirectionalLocation optional
這個步驟的終點位置。
instructions
readonly
類型: string optional
這個步驟的操作說明。
localizedValues
readonly
類型: RouteLegStepLocalizedValues optional
RouteLegStep 屬性的文字表示法。
maneuver
readonly
類型: string optional
在這個步驟中執行的導航動作。如需可能的值清單,請參閱「Maneuver」。
path
readonly
路線航段步驟的 LatLngAltitude 清單,可用於繪製路線航段步驟折線。您可以設定 ComputeRoutesRequest.polylineQuality,控制路徑的精細程度。必須在 ComputeRoutesRequest.fields 中要求 "path" 欄位,才能填入這個欄位。
startLocation
readonly
類型: DirectionalLocation optional
這個步驟的起點。
staticDurationMillis
readonly
類型: number optional
不考慮路況時,通過這個步驟所需的時間。

注意:如果時間長度超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY。
transitDetails
readonly
類型: TransitDetails optional
如果交通方式為 TRANSIT,則為這個步驟的相關詳細資料。
travelMode
readonly
類型: TravelMode optional
這個步驟使用的交通方式。
沿用: toJSON

RouteLegStepLocalizedValues 類別

class google.maps.routes.RouteLegStepLocalizedValues
library "routes"

RouteLegStep 屬性的文字表示法。

const {RouteLegStepLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
類型: string optional
路線區段步驟的移動距離,以文字形式表示。
distanceLanguage
readonly
類型: string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

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

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
沿用: toJSON

RouteLegTravelAdvisory 類別

class google.maps.routes.RouteLegTravelAdvisory
library "routes"

包含使用者應在 RouteLeg 上得知的其他資訊。

const {RouteLegTravelAdvisory} = await google.maps.importLibrary("routes");
speedReadingIntervals
readonly
類型: Array<SpeedReadingInterval> optional
速度讀取間隔,詳細說明車流量密度。適用於 TRAFFIC_AWARE 和 TRAFFIC_AWARE_OPTIMAL ComputeRoutesRequest.routingPreference。這些間隔會涵蓋 RouteLeg 的整個折線,且不會重疊。指定區間的起點與前一個區間的終點相同。

範例:
 polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
readonly
類型: TollInfo optional
包含特定 RouteLeg 的過路費資訊。只有在預計RouteLeg會產生過路費時,系統才會填入這個欄位。如果設定了這個欄位,但未填入 TollInfo.estimatedPrices,則表示路線路段包含收費路段,但預估價格不明。如果這個欄位留空,表示RouteLeg沒有收費路段。
沿用: toJSON

RouteLocalizedValues 類別

class google.maps.routes.RouteLocalizedValues
library "routes"

Route 屬性的文字表示法。

const {RouteLocalizedValues} = await google.maps.importLibrary("routes");
distance
readonly
類型: string optional
以文字形式表示的路線行進距離。
distanceLanguage
readonly
類型: string optional
距離文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

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

詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
staticDuration
readonly
類型: string optional
不考慮路況的車程時間,以文字形式表示。
staticDurationLanguage
readonly
類型: string optional
靜態時間長度文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。
transitFare
readonly
類型: string optional
以文字形式表示的大眾運輸票價。
transitFareLanguage
readonly
類型: string optional
大眾運輸票價文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。
沿用: toJSON

RouteModifiers 介面

介面 google.maps.routes.RouteModifiers

封裝一組選用條件,在計算路線時必須滿足這些條件。

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

RoutePolyline3DOptions 介面

介面 google.maps.routes.RoutePolyline3DOptions

建立路線 3D 折線的選項。

polylineOptions
選填
自訂 3D 折線樣式的選項。
trafficPolylinesDisabled
選填
類型: boolean optional
是否停用車流量感知折線。只有在 routingPreference 設為 TRAFFIC_AWARE 或 TRAFFIC_AWARE_OPTIMAL 時,才能使用車流量監測折線。

RoutePolylineDetails 介面

介面 google.maps.routes.RoutePolylineDetails

路線中與折線對應的部分詳細資料,可用來自訂折線樣式。

speed
選填
類型: Speed optional
與這條折線對應的路線路段車速讀數。只有含路況資訊的路線會填入這項資料。
transitDetails
選填
類型: TransitDetails optional
與這條折線對應的路線區段大眾運輸詳細資料。只有包含大眾運輸資訊的路線,才會填入這項資料。
travelMode
選填
類型: TravelMode optional
與這條折線對應的路線區段交通方式。車流量折線為空白。

RoutePolylineOptions 介面

介面 google.maps.routes.RoutePolylineOptions

建立路線折線的選項。

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

RouteTravelAdvisory 類別

class google.maps.routes.RouteTravelAdvisory
library "routes"

包含使用者應在 Route 上得知的其他資訊。

const {RouteTravelAdvisory} = await google.maps.importLibrary("routes");
fuelConsumptionMicroliters
readonly
類型: number optional
預測的燃料消耗量 (以微升為單位)。

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

範例:
 polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G)
tollInfo
readonly
類型: TollInfo optional
包含Route的過路費資訊。只有在預計Route會產生過路費時,系統才會填入這個欄位。如果設定了這個欄位,但未填入 TollInfo.estimatedPrices,則表示路線包含收費路段,但預估費用不明。如果這個欄位留空,表示Route沒有收費路段。
transitFare
readonly
類型: Money optional
如果有的話,會包含這個 Route 的總車資或票價。這個屬性只會針對 TRANSIT ComputeRoutesRequest.travelMode 傳回,且僅適用於所有大眾運輸步驟皆有車資資訊的路線。
沿用: toJSON

RoutingPreference 常數

constants google.maps.routes.RoutingPreference
library "routes"

一組值,指定計算路線時要考量的因素。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 RoutingPreferenceString 類型定義。

const {RoutingPreference} = await google.maps.importLibrary("routes");
TRAFFIC_AWARE 計算路線時會考量即時路況。詳情請參閱網路服務說明文件。
TRAFFIC_AWARE_OPTIMAL 計算路線時會考量即時路況,但不會套用大部分的效能最佳化功能。詳情請參閱網路服務說明文件。
TRAFFIC_UNAWARE 計算路線時不考慮即時路況。詳情請參閱網路服務說明文件。

Speed 常數

constants google.maps.routes.Speed
library "routes"

根據車流量資料分類折線速度。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 SpeedString 類型定義。

const {Speed} = await google.maps.importLibrary("routes");
NORMAL 正常速度,沒有塞車。詳情請參閱網路服務說明文件。
SLOW 偵測到車多擁擠,車流量中等。詳情請參閱網路服務說明文件。
TRAFFIC_JAM 交通延誤。詳情請參閱網路服務說明文件。

SpeedPath 介面

介面 google.maps.routes.SpeedPath

將路線間隔的 LatLngAltitude 與該間隔的速度讀數分組。

path
這個速度路徑涵蓋的路徑。
speed
選填
類型: Speed optional
路徑的速度讀數。

SpeedReadingInterval 類別

class google.maps.routes.SpeedReadingInterval
library "routes"

折線或路徑連續路段上的車流量密度指標。假設路徑包含 P_0、P_1、...、P_N 點 (索引從零開始),SpeedReadingInterval 會描述區間的車流量密度。

const {SpeedReadingInterval} = await google.maps.importLibrary("routes");
endPolylinePointIndex
readonly
類型: number optional
折線中這個間隔的結束索引。
speed
readonly
類型: Speed optional
這個區間的車流速度。
startPolylinePointIndex
readonly
類型: number optional
折線中這個間隔的起始索引。

StepsOverview 類別

class google.maps.routes.StepsOverview
library "routes"

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

const {StepsOverview} = await google.maps.importLibrary("routes");
multiModalSegments
readonly
RouteLeg.steps 的不同多模態片段摘要資訊。
沿用: toJSON

TollInfo 類別

class google.maps.routes.TollInfo
library "routes"

封裝 Route 或 RouteLeg 的收費資訊。

const {TollInfo} = await google.maps.importLibrary("routes");
estimatedPrices
readonly
類型: Array<Money> optional
對應 Route 或 RouteLeg 的過路費金額。這份清單包含收費站預計收取的每種幣別金額。如果路線的過路費僅以一種幣別計價,這份清單通常只會包含一個項目。如果是跨國行程,這份清單可能會包含多個項目,反映不同幣別的過路費。如果預期會產生過路費,但預估費用不明,這個欄位可能是空白陣列。
沿用: toJSON

TransitAgency 類別

class google.maps.routes.TransitAgency
library "routes"

運輸公司的相關資訊。

const {TransitAgency} = await google.maps.importLibrary("routes");
name
readonly
類型: string optional
這間運輸公司的名稱。
phoneNumber
readonly
類型: string optional
運輸公司的電話號碼,格式依地區而定。
url
readonly
類型: URL optional
運輸公司的網址。
沿用: toJSON

TransitDetails 類別

class google.maps.routes.TransitDetails
library "routes"

路線中大眾運輸步驟的其他資訊。

const {TransitDetails} = await google.maps.importLibrary("routes");
arrivalStop
readonly
類型: TransitStop optional
步驟抵達停靠站的相關資訊。
arrivalTime
readonly
類型: Date optional
步驟的預計到達時間。
departureStop
readonly
類型: TransitStop optional
步驟的出發站資訊。
departureTime
readonly
類型: Date optional
步驟的預計出發時間。
headsign
readonly
類型: string optional
指定這條路線的行進方向,如交通工具或出發站上所標示的方向。方向通常是終點站。
headwayMillis
readonly
類型: number optional
指定從目前同一站點出發的預計間隔時間 (以毫秒為單位)。例如,假設班距值為 600,000,則表示如果錯過上一班公車,下一班預計要等 10 分鐘。

注意:如果班距超過 2^53 毫秒,這個值會是 Number.POSITIVE_INFINITY。
stopCount
readonly
類型: number
從出發站到抵達站的停靠站數量。這項計數包含抵達站,但不包含出發站。舉例來說,如果路線是從 A 站出發,途經 B、C 兩站,最後抵達 D 站,則 stopCount 會是 3。
transitLine
readonly
類型: TransitLine optional
步驟中使用的大眾運輸路線相關資訊。
tripShortText
readonly
類型: string optional
時間表和看板上顯示的文字,可供乘客識別大眾運輸行程。這段文字可明確識別服務日內的行程。舉例來說,「538」是美鐵火車的tripShortText,平日 15:10 從加州聖荷西出發,前往加州沙加緬度。
沿用: toJSON

TransitLine 類

class google.maps.routes.TransitLine
library "routes"

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

const {TransitLine} = await google.maps.importLibrary("routes");
agencies
readonly
類型: Array<TransitAgency>
營運這條大眾運輸路線的運輸公司。
color
readonly
類型: string optional
這條路線常用的顏色,以十六進位表示。
iconURL
readonly
類型: URL optional
這條路線相關圖示的網址。
name
readonly
類型: string optional
這條大眾運輸路線的全名,例如「8 Avenue Local」。
shortName
readonly
類型: string optional
這條大眾運輸路線的簡稱。這個名稱通常是路線編號,例如「M7」或「355」。
textColor
readonly
類型: string optional
這條路線常用的文字顏色,以十六進位表示。
url
readonly
類型: URL optional
這條大眾運輸路線的網址 (由運輸公司提供)。
vehicle
readonly
類型: TransitVehicle optional
這條大眾運輸路線使用的交通工具類型。
沿用: toJSON

TransitPreference 介面

介面 google.maps.routes.TransitPreference

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

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

TransitStop 類別

class google.maps.routes.TransitStop
library "routes"

大眾運輸停靠站的相關資訊。

const {TransitStop} = await google.maps.importLibrary("routes");
location
readonly
類型: DirectionalLocation optional
停靠站的位置,以經緯度座標和選用的航向表示。
name
readonly
類型: string optional
大眾運輸停靠站的名稱。
沿用: toJSON

TransitVehicle 類別

class google.maps.routes.TransitVehicle
library "routes"

大眾運輸路線使用的交通工具相關資訊。

const {TransitVehicle} = await google.maps.importLibrary("routes");
iconURL
readonly
類型: URL optional
與此交通工具類型相關聯的圖示網址。
localIconURL
readonly
類型: URL optional
此交通工具類型相關圖示的網址 (根據本地交通標誌)。
name
readonly
類型: string optional
這個交通工具的名稱,首字母大寫。
nameLanguage
readonly
類型: string optional
車輛名稱文字的 BCP-47 語言代碼,例如「en-US」或「sr-Latn」。

詳情請參閱:https://www.unicode.org/reports/tr35/#Unicode_locale_identifier。
vehicleType
readonly
類型: string optional
沿用: toJSON

VehicleEmissionType 常數

constants google.maps.routes.VehicleEmissionType
library "routes"

一組描述車輛排放類型的值。詳情請參閱網路服務說明文件。

這些常數也可以做為字串使用。在 TypeScript 中,字串常值是由 VehicleEmissionTypeString 類型定義。

const {VehicleEmissionType} = await google.maps.importLibrary("routes");
DIESEL 柴油車。詳情請參閱網路服務說明文件。
ELECTRIC 電力驅動車輛。詳情請參閱網路服務說明文件。
GASOLINE 汽油車。詳情請參閱網路服務說明文件。
HYBRID 油電混合車 (例如汽油 + 電動)。詳情請參閱網路服務說明文件。

VehicleInfo 介面

介面 google.maps.routes.VehicleInfo

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

emissionType
選填
類型: VehicleEmissionType optional
說明車輛的排放類型。僅適用於DRIVING交通模式。

Waypoint 介面

介面 google.maps.routes.Waypoint

代表路線中的路線控點。

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

如要讓路線通過這個路線控點,但不停靠,請將這個值設為 true。「途經」路線控點不會在 Route.legs 陣列中新增項目,但會將行程路線導向該路線控點。

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

WaypointMarkerDetails 介面

介面 google.maps.routes.WaypointMarkerDetails

路線控點的詳細資料,可用來自訂標記樣式。

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