从 Google 云地图方向 API 获取距离
Get distance from Google Cloud Maps Directions API
我正在尝试获取公交车站之间的距离,以粗略估计公交车何时到达。我知道有一些应用程序和服务可以执行此操作,但我想自己执行此操作。
我得到了结果对象,但不知道如何得到距离。 Debug shows directions_result
is a list with length of 0 (zero)
(代码来自GC Maps Directions API Python Client documentation。)
import googlemaps
from datetime import datetime
# GC Maps Directions API
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
gmaps = googlemaps.Client(key=api_key)
# Request directions via public transit
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')
distance = directions_result.<what_im_trying_to_figure_out>
提前致谢。
我有 运行 你的代码,directions_result
对我来说长度为 1。要获得总距离,请尝试以下代码:
# Import libraries
import googlemaps
from datetime import datetime
# Set coords
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
# Init client
gmaps = googlemaps.Client(key="KEY")
# Request directions
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')
# Get distance
distance = 0
legs = directions_result[0].get("legs")
for leg in legs:
distance = distance + leg.get("distance").get("value")
print(distance) # 222 i.e. 0.2 km
希望对您有所帮助!
我正在尝试获取公交车站之间的距离,以粗略估计公交车何时到达。我知道有一些应用程序和服务可以执行此操作,但我想自己执行此操作。
我得到了结果对象,但不知道如何得到距离。 Debug shows directions_result
is a list with length of 0 (zero)
(代码来自GC Maps Directions API Python Client documentation。)
import googlemaps
from datetime import datetime
# GC Maps Directions API
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
gmaps = googlemaps.Client(key=api_key)
# Request directions via public transit
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')
distance = directions_result.<what_im_trying_to_figure_out>
提前致谢。
我有 运行 你的代码,directions_result
对我来说长度为 1。要获得总距离,请尝试以下代码:
# Import libraries
import googlemaps
from datetime import datetime
# Set coords
coords_0 = '43.70721,-79.3955999'
coords_1 = '43.7077599,-79.39294'
# Init client
gmaps = googlemaps.Client(key="KEY")
# Request directions
now = datetime.now()
directions_result = gmaps.directions(coords_0, coords_1, mode="driving", departure_time=now, avoid='tolls')
# Get distance
distance = 0
legs = directions_result[0].get("legs")
for leg in legs:
distance = distance + leg.get("distance").get("value")
print(distance) # 222 i.e. 0.2 km
希望对您有所帮助!