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)