Distance Matrix

1. 計價

1.1. 標準使用者

  • 每天可以有 2,500 個免費元素。
  • 每個查詢可以有 100 個元素。
  • 每 10 秒可以有 100 個元素。
  • 每 1000 個額外元素為 $0.50 美元,每天最多可以有 100,000 個元素。

1.2. 進階使用者

  • 每日配額每 24 小時可有 100,000 個元素以上,視年度合約購買量而定。
  • 每個查詢可以有 625 個元素。
  • 每 10 秒可以有 1,000 個元素。

2. 多點距離 & 時間

  • URLhttps://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:選擇大眾運輸方式,只有當modetransit 時,才能為要求指定此參數。(bus|subway|train|tram|rail(=train+tram+subway))

transit_routing_preference:transit_routing_preference:選擇大眾運輸的偏好,只有當modetransit 時,才能為要求指定此參數。(less_walking|fewer_transfers)

© 2017 Trashman all right reserved,powered by Gitbook修訂時間: 2024-10-14 03:41:00

results matching ""

    No results matching ""