Distance Matrix
- URL:
https://maps.googleapis.com/maps/api/distancematrix/output?input=value
- Python:API -
Client.distance_matrix
- Python:Source Code -
distance_matrix.py
- 起點與目的地矩陣的旅行距離與時間。
Key Input | Option Input | Output Type | Output | Rows | Element |
---|---|---|---|---|---|
keykey | modemode | xmlxml | statusTop status | elementelement | statusElement status |
originsorigins | languagelanguage | jsonjson | origin_addressesorigin_addresses | durationduration | |
destinationsdestinations | avoidavoid | destination_addressesdestination_addresses | duration_in_trafficduration_in_traffic | ||
unitsunits | rowsrows | distancedistance | |||
arrival_timearrival_time | farefare | ||||
departure_timedeparture_time | |||||
traffic_modeltraffic_model | |||||
transit_modetransit_mode | |||||
transit_routing_preferencetransit_routing_preference |
Python Library
def distance_matrix(client, origins, destinations,mode=None, language=None, avoid=None, units=None,departure_time=None, arrival_time=None,transit_mode=None,transit_routing_preference=None, traffic_model=None)
Sample code
import googlemaps
client = googlemaps.Client(key='AIzaSyAz1hWEiamCgwsceUYG_dQkvTmfwTBoFT4')
origins = ['Vancouver BC','Seattle']
destinations = ['San Francisco','Victoria BC']
directions_result = client.distance_matrix(origins,destinations)
for i in directions_result.get('rows'):
print i
print '------------------------------'
Output
{
"destination_addresses" : [
"美國加利福尼亞州舊金山",
"加拿大英屬哥倫比亞維多利亞"
],
"origin_addresses" : [ "加拿大英屬哥倫比亞溫哥華", "美國華盛頓西雅圖" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1,528 公里",
"value" : 1528399
},
"duration" : {
"text" : "15 小時 6 分",
"value" : 54365
},
"status" : "OK"
},
{
"distance" : {
"text" : "114 公里",
"value" : 114161
},
"duration" : {
"text" : "3 小時 10 分",
"value" : 11403
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "1,300 公里",
"value" : 1299971
},
"duration" : {
"text" : "12 小時 36 分",
"value" : 45340
},
"status" : "OK"
},
{
"distance" : {
"text" : "172 公里",
"value" : 171688
},
"duration" : {
"text" : "4 小時 35 分",
"value" : 16479
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
key:Key
:您應用程式的API 金鑰。
language:Language
:語言設定,請參閱支援的語言清單。
arrival_time:arrival_time
:針對大眾運輸要求指定抵達時間(秒),自 1970 年 1 月 1 日午夜 (UTC) 起算,不可與departure_time
並存。
departure_time:departure_time
:出發時間(秒),自 1970 年 1 月 1 日午夜 (UTC) 起算,值可以是now
。如果mode=driving
時,設定此值才會回傳duration_in_traffic
。
transit_mode:transit_mode
:選擇大眾運輸方式,只有當mode
為 transit
時,才能為要求指定此參數。(bus|subway|train|tram|rail(=train+tram+subway)
)
transit_routing_preference:transit_routing_preference
:選擇大眾運輸的偏好,只有當mode
為 transit
時,才能為要求指定此參數。(less_walking|fewer_transfers
)