Distance Matrix

DistanceMatrixService 類別

google.maps.DistanceMatrixService 類別

計算多個起點與目的地之間距離的服務。

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

DistanceMatrixService
DistanceMatrixService()
參數:
建立新的 DistanceMatrixService 執行個體,將距離矩陣查詢傳送至 Google 伺服器。
getDistanceMatrix
getDistanceMatrix(request[, callback])
參數: 
提出距離矩陣要求。

DistanceMatrixRequest 介面

google.maps.DistanceMatrixRequest 介面

DistanceMatrixService 傳送的距離矩陣查詢,其中包含起點和目的地位置陣列,以及各種計算指標選項。

destinations
類型:  Array<string|LatLng|LatLngLiteral|Place>
包含目的地字串字串或 LatLngPlace 物件的陣列,可用於計算距離與時間。這是必填欄位。
origins
類型:  Array<string|LatLng|LatLngLiteral|Place>
包含計算距離與時間物件的陣列位址字串,或者 LatLngPlace 物件。這是必填欄位。
travelMode
類型:  TravelMode
要求的路線類型。這是必填欄位。
avoidFerries optional
類型:  boolean optional
如果為 true,則指示距離矩陣服務盡量避免搭乘渡輪。選用。
avoidHighways optional
類型:  boolean optional
如果為 true,則指示距離矩陣服務盡量避免高速公路。選用。
avoidTolls optional
類型:  boolean optional
如果為 true,則指示距離矩陣服務盡量避開收費路段。選用。
drivingOptions optional
類型:  DrivingOptions optional
這些設定僅適用於 travelModeDRIVING 的要求。這個物件對其他交通方式沒有影響。
language optional
類型:  string optional
如果可以的話,應傳回結果的語言語言識別碼。請參閱支援語言清單
region optional
類型:  string optional
用於地理編碼要求自訂調整的區域代碼。區域代碼接受 ccTLD (「頂層網域」) 這兩個字元值。多數 ccTLD 代碼與 ISO 3166-1 代碼相同,只有少數例外。舉例來說,英國的 ccTLD 為「uk」(.co.uk),其 ISO 3166-1 代碼卻是「gb」(技術上適用於「英國與北愛爾蘭的英國王國」)。
transitOptions optional
類型:  TransitOptions optional
這項設定僅適用於 travelMode 為 TRANSIT 的要求。這個物件對其他交通方式沒有影響。
unitSystem optional
類型:  UnitSystem optional
顯示距離時使用的常用單位系統。選用,預設為公制。

DistanceMatrixResponse 介面

google.maps.DistanceMatrixResponse 介面

DistanceMatrixService 要求的回應,由格式化的目的地和目的地位址以及 DistanceMatrixResponseRow 的序列組成,分別對應每個對應的原始位址。

destinationAddresses
類型:  Array<string>
格式化的目的地地址。
originAddresses
類型:  Array<string>
格式化的起點地址。
rows
對應至起點地址的矩陣列。

DistanceMatrixResponseRow 介面

google.maps.DistanceMatrixResponseRow 介面

回應 DistanceMatrixService 要求的一列,由 DistanceMatrixResponseElement 的序列組成,分別代表每個對應目的地位址。

elements
對應目的地地址的列元素。

DistanceMatrixResponseElement 介面

google.maps.DistanceMatrixResponseElement 介面

回應 DistanceMatrixService 要求的單一元素,其中包含從一個起點到某個目的地之間的時間長度和距離。

distance
類型:  Distance
此起點與目的地對組之間的距離。因為距離不明,這個屬性可能未定義。
duration
類型:  Duration
此起點與目的地對組的期間。因為期間不明,這個屬性可能未定義。
duration_in_traffic
類型:  Duration
這個來源與目的地配對的持續時間,會考量 trafficModel 屬性指定的流量條件。這項屬性可能是 undefined,因為時間長度可能不明。僅適用於付費方案客戶,且必須在提出要求時定義 drivingOptions
fare
類型:  TransitFare
此出發地與目的地配對的總票價。僅適用於大眾運輸要求。
status
此特定起點與目的地對組的狀態。

DistanceMatrixStatus 常數

google.maps.DistanceMatrixStatus 常數

完成距離矩陣要求後,DistanceMatrixService 通常會傳回要求的頂層狀態。您可以使用值或透過常數名稱指定這些值。例如 'OK'google.maps.DistanceMatrixStatus.OK

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

INVALID_REQUEST 提供的要求無效。
MAX_DIMENSIONS_EXCEEDED 該要求包含超過 25 個起點,或超過 25 個目的地。
MAX_ELEMENTS_EXCEEDED 起點與目的地的乘積超出每項查詢的限制。
OK 回應包含有效的結果。
OVER_QUERY_LIMIT 在允許的時段內要求了過多的元素。請稍後再試之後,該要求應會成功。
REQUEST_DENIED 服務拒絕您的網頁使用距離矩陣服務。
UNKNOWN_ERROR 伺服器發生錯誤,無法處理距離矩陣要求。如果您再試一次,可能會成功進行要求。

DistanceMatrixElementStatus 常數

google.maps.DistanceMatrixElementStatus 常數

完成距離矩陣要求後,DistanceMatrixService 會傳回特定起點與目的地組合的元素元素層級狀態。這些值會以字串的形式指定,例如 'OK'

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

NOT_FOUND 此起點和/或目的地對組不可進行地理編碼。
OK 回應包含有效的結果。
ZERO_RESULTS 在起點和目的地之間找不到路線。