Время вождения Google Maps на Python

Мне нужно получить время вождения между двумя наборами координат, используя Python. Единственные обертки для API Карт Google, которые я смог найти, либо используют API Google Maps V2 (устарел), либо не имеют функций, обеспечивающих время вождения. Я использую это в локальном приложении и не хочу привязываться к JavaScript, что и есть в Google Maps API V3.

Ответ 1

Используя URL-запросы в API-интерфейсе Google Distance Matrix и json-интерпретаторе, вы можете сделать это:

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']

Ответ 2

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'])

Это взято из здесь А также вы можете соответствующим образом изменить параметры.

Ответ 3

Посмотрите эту ссылку: https://developers.google.com/maps/documentation/distancematrix/#unit_systems

Прочтите раздел "Необязательные параметры". по сути, вы добавляете параметр в свой запрос в своем URL-адресе. Поэтому, если вы хотите ездить на велосипеде, это будет "режим = велосипед". Посмотрите пример в нижней части ссылки и поиграйте с некоторыми параметрами. Удачи!