我想使用谷歌的距離矩陣API 來測量多個地址和單個地址之間的道路距離。我有一個起始緯度和經度 (list_o) 以及目的地緯度和經度 (list_d) 的串列。我的 Api 密鑰已設定。
list_o
[(51.268369, -1.361543),
(51.368369, -1.361043),
(51.062992, -1.250635),
(51.910508, -1.314208),
(51.233251, -1.551402)]
list_d
[(53.423451, -1.462141),
(53.483451, -1.172141),
(51.423451, -1.262141),
(52.623451, -1.246211),
(52.323451, -1.462141)]
如果我傳入地址串列
result = gmaps.distance_matrix(list_o, list_d, mode='walking')["rows"][0]["elements"][0]["distance"]["value"]
我只得到一個結果,例如 34000 米 = 34km ,這看起來是正確的。我嘗試將結果附加到串列中,但它仍然只出現一個結果。
和
gmaps.distance_matrix(list_o, list_d, mode='walking')["rows"][0]["elements"]
我得到 10 個值(df 的全尺寸,上面我只顯示了前 5 個)。
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'},
{'distance': {'text': '34.0 km', 'value': 34014},
'duration': {'text': '7 hours 6 mins', 'value': 25554},
'status': 'OK'}]
但是,它們都是相同的值。
uj5u.com熱心網友回復:
我相信你想要做的是使用:
list_o
[(51.668369, -1.361043),
(51.668369, -1.361043),
(51.662992, -1.270635),
(51.610508, -1.314208),
(51.733251, -1.351402)]
和:
list_d
[(52.423451, -1.462141)]
然后呼叫:
results = gmaps.distance_matrix(list_o, list_d, mode='walking')
您正在尋找的結果是:
# Distance between first origin and destination.
# I.e.: distance (51.668369, -1.361043) -> (52.423451, -1.462141)
results['rows'][0]['elements'][0]
#... and so on
換句話說,results['rows'][i]['elements'][0]就是位置i到目的地的距離。
gmaps.distance_matrix計算起點和每個目的地之間的距離。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/477138.html
