Python谷歌地图驾驶时间

tss*_*res 13 python google-maps google-maps-api-3

我需要使用Python在两组坐标之间获得驾驶时间.Google Maps API的唯一包装器我可以找到使用Google Maps API V2(已弃用)或者没有提供驾驶时间的功能.我在本地应用程序中使用它,并且不希望受限于使用Google Maps API V3所提供的JavaScript.

tss*_*res 25

使用对Google Distance Matrix API和json解释器的URL请求,您可以执行以下操作:

import simplejson, urllib
orig_coord = orig_lat, orig_lng
dest_coord = dest_lat, dest_lng
url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}&mode=driving&language=en-EN&sensor=false".format(str(orig_coord),str(dest_coord))
result= simplejson.load(urllib.urlopen(url))
driving_time = result['rows'][0]['elements'][0]['duration']['value']
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这很棒。我想知道您如何将旅行模式从驾驶时间更改为循环时间? (2认同)
  • @tsspires。您能否在您的请求中包含如何包含 API 密钥?否则您提供的代码将无法工作。 (2认同)

Dom*_*ick 11

import googlemaps
from datetime import datetime

gmaps = googlemaps.Client(key='YOUR KEY')


now = datetime.now()
directions_result = gmaps.directions("18.997739, 72.841280",
                                     "18.880253, 72.945137",
                                     mode="driving",
                                     avoid="ferries",
                                     departure_time=now
                                    )

print(directions_result[0]['legs'][0]['distance']['text'])
print(directions_result[0]['legs'][0]['duration']['text'])
Run Code Online (Sandbox Code Playgroud)

这是从这里获取的, 也可以相应地更改参数.