DistanceMatrixService 類別
google.maps.DistanceMatrixService
class
計算多個起點與目的地之間距離的服務。
請呼叫 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> 計算距離和時間時要做為目的地的陣列,內含目的地地址字串、 LatLng 或 Place 物件。必填。 |
origins |
類型:
Array<string|LatLng|LatLngLiteral|Place> 計算距離和時間時要做為起點的陣列,內含起點地址字串、 LatLng 或 Place 物件。必填。 |
travelMode |
類型:
TravelMode 要求的路線類型。必填。 |
avoidFerries optional |
類型:
boolean optional 如果為 true ,則會指示距離矩陣服務盡可能避開渡輪。選填。 |
avoidHighways optional |
類型:
boolean optional 如果為 true ,則會指示距離矩陣服務盡可能避開高速公路。選填。 |
avoidTolls optional |
類型:
boolean optional 如果為 true ,則會指示距離矩陣服務盡可能避開收費路段。選填。 |
drivingOptions optional |
類型:
DrivingOptions optional 僅適用於 travelMode 為 DRIVING 的要求。這個物件不會影響其他交通模式。 |
language optional |
類型:
string optional 語言 ID,用於指定應傳回結果的語言 (如有可能)。請參閱支援語言清單。 |
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 。只有 Premium 方案客戶在提出要求時定義 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 |
在起點和目的地之間找不到路線。 |