Route

Route 類別

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_AWARE 或 TRAFFIC_AWARE_OPTIMAL,系統會考量路況來計算這個值。

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

例如:
  • 沒有中繼路線控點的路線只有一個路段。
  • 如果路線包含一個非 via 中繼路線控點,則會有兩個路段。
  • 包含一個 via 中繼路線控點的路線有一個路段。
。路段順序與路線控點順序一致,也就是從 origin 到 intermediates,再到 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_AWARE 或 TRAFFIC_AWARE_OPTIMAL 時,才能使用 routeToken。不支援含有 via 個路線控點的要求。
speedPaths
類型:  Array<SpeedPath> optional
路線路徑各區段的分組,以及對應的速度讀數。如要填入這個欄位,ComputeRoutesRequest.routingPreference 必須設為 TRAFFIC_AWARE 或 TRAFFIC_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.path 或 RouteLeg.path 建立折線。
createWaypointAdvancedMarkers
createWaypointAdvancedMarkers([options])
為路線建立標記,並為每個路線控點加上「A」、「B」、「C」等標籤。標記會套用預設樣式。您可以傳入選項,根據標記索引或對應 RouteLeg 的屬性,變更標記樣式。如果路線沒有路段,WaypointMarkerDetails.leg 參數就不會定義。

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

ComputeRoutesRequest 介面

google.maps.routes.ComputeRoutesRequest 介面

路線要求。

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

注意:只有在 ComputeRoutesRequest.travelMode 設為 TRANSIT 時,才能設定這個值。您可以指定 ComputeRoutesRequest.departureTime 或 ComputeRoutesRequest.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 語言代碼 ID」。如需支援語言清單,請參閱「語言支援」。如未提供這個值,系統會根據 Google Maps JavaScript API 本地化設定推斷語言。否則,系統會根據來源位置推斷語言。
optimizeWaypointOrder optional
類型:  boolean optional
如果設為 true,服務會重新排序指定的中間路線控點,盡可能降低路線的整體費用。如果任何中繼路線控點是中途路線控點,要求就會失敗。請使用回應中的 Route.optimizedIntermediateWaypointIndices 找出新的排序。如果未在 ComputeRoutesRequest.fields 中要求 "optimizedIntermediateWaypointIndices",要求就會失敗。如果設為 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.travelMode 為 DRIVING 或 TWO_WHEELER 時,才能指定這個選項,否則要求會失敗。
trafficModel optional
類型:  TrafficModel optional
指定計算交通時間時要採用的假設。這項設定會影響 Route.durationMillis 和 RouteLeg.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 代表正東,以此類推。這個欄位僅適用於DRIVING和TWO_WHEELER ComputeRoutesRequest.travelMode。
繼承: altitude、lat、lng

DirectionalLocation 類別

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 代表正東,以此類推。這個欄位僅適用於DRIVING和TWO_WHEELER ComputeRoutesRequest.travelMode。
繼承: altitude、lat、lng
toJSON
toJSON()
參數:無
轉換為物件。
沿用: equals

FallbackInfo 類別

google.maps.routes.FallbackInfo class

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

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

reason
類型:  FallbackReason optional
使用備用回應而非原始回應的原因。只有在觸發備用模式並傳回備用回應時,系統才會填入這個欄位。
routingMode
類型:  FallbackRoutingMode optional
回覆使用的轉送模式。如果觸發備用方案,模式可能與原始用戶端要求中設定的路線偏好設定不同。
toJSON
toJSON()
參數:無
傳回值:  Object
轉換為物件。

FallbackReason 常數

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 類別

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 類別

google.maps.routes.MultiModalSegment class

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

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

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

PolylineDetailInfo 類別

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 類別

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 常數

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 類別

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_AWARE 或 TRAFFIC_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_AWARE 或 TRAFFIC_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 類別

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 類別

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
在這個步驟中執行的導航動作。如需可能的值清單,請參閱「Maneuver」。
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 類別

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_AWARE 和 TRAFFIC_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 類別

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

RoutePolylineDetails 介面

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 物件,也可以是採用預設 PolylineOptions 和 RoutePolylineDetails 的函式,並傳回要套用至該折線的 PolylineOptions。

RouteTravelAdvisory 類別

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_AWARE 和 TRAFFIC_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 計算路線時不考慮即時路況。適合路況不重要或不適用的情況。使用這個值可達到最低延遲時間。

Speed 常數

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 類別

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 類別

google.maps.routes.StepsOverview class

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

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

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

TollInfo 類別

google.maps.routes.TollInfo class

封裝 Route 或 RouteLeg 的收費資訊。

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

estimatedPrices
類型:  Array<Money> optional
對應 Route 或 RouteLeg 的過路費金額。這份清單包含收費站預計收取的每種幣別金額。如果路線的過路費僅以一種幣別計價,這份清單通常只會包含一個項目。如果是國際行程,這份清單可能會包含多個項目,反映不同幣別的過路費。
toJSON
toJSON()
參數:無
傳回值:  Object
轉換為物件。

TransitAgency 類別

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 類別

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
時間表和看板上顯示的文字,可供乘客識別大眾運輸行程。這段文字可明確識別服務日內的行程。舉例來說,「538」是美鐵火車的tripShortText,平日 15:10 從加州聖荷西出發,前往加州沙加緬度。
toJSON
toJSON()
參數:無
傳回值:  Object
轉換為物件。

TransitLine 類

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 類別

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 常數

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 或 Place 資源名稱。
sideOfRoad optional
類型:  boolean optional
表示這個路線控點的位置,是為了讓車輛優先停靠在道路的特定一側。設定這個值後,路線會經過該位置,讓車輛可以停在該位置偏向道路中心的那一側。這個選項僅適用於 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode
vehicleStopover optional
類型:  boolean optional
表示路線控點是車輛停靠點,目的是上車或下車。設定這個值後,計算出的路線就不會包含不適合上車和下車道路上的非 via 路線控點。這個選項僅適用於 DRIVING 和 TWO_WHEELER ComputeRoutesRequest.travelMode,且 Waypoint.location 不是 string 或 Place。
via optional
類型:  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 optional
類型:  RouteLeg optional
標記所屬的航段。如果路線沒有路段,則為空白。