-1
我有代碼:如何獲得從許多點到目的地的距離?
orig_lat = 48.864716 # Paris lat
orig_lon = 2.349014 # Paris lon
dest_lat = 52.518623
dest_lon = 13.376198
google_url = 'http://maps.googleapis.com/maps/api/'
fn_url = 'distancematrix/'
opt_url = '&language=en-EN&sensor=false'
url = "%s%sjson?origins=%s,%s&destinations=%s,%s&mode=driving%s" % (
google_url, fn_url, str(orig_lat), str(orig_lon),
str(dest_lat), str(dest_lon), opt_url
)
ret = requests.get(url)
和谷歌迴應:
{
"destination_addresses" : [ "Paul-Löbe-Allee, 10557 Berlin, Germany" ],
"origin_addresses" : [ "18bis Rue Tiquetonne, 75002 Paris, France" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1,045 km",
"value" : 1045157
},
"duration" : {
"text" : "9 hours 58 mins",
"value" : 35905
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
但我有一個目的地點和許多原點:
dest_lat = 52.518623
dest_lon = 13.376198
origins = [
(48.864716, 2.349014), # Paris
(40.415363, -3.707398), # Madrid
(52.237049, 21.017532) # Warsaw
]
我想所有的持續時間和距離在一個請求中。這可能嗎?
在一個請求?我不確定谷歌是否具有這種功能。也許嘗試遍歷起源,併爲每一個請求,並將結果追加到您的數據結構 – citizen2077
是的,如上所述。你必須使用for循環遍歷起源! –
這就是距離矩陣的作用,你有什麼問題? – geocodezip