Мне нужно получить время вождения между двумя наборами координат, используя Python. Единственные обертки для API Карт Google, которые я смог найти, либо используют API Google Maps V2 (устарел), либо не имеют функций, обеспечивающих время вождения. Я использую это в локальном приложении и не хочу привязываться к JavaScript, что и есть в Google Maps API V3.
Время вождения Google Maps на Python
Ответ 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-адресе. Поэтому, если вы хотите ездить на велосипеде, это будет "режим = велосипед". Посмотрите пример в нижней части ссылки и поиграйте с некоторыми параметрами. Удачи!