web-dev-qa-db-ja.com

Python Googleマップの運転時間

Pythonを使用して2つの座標セット間の走行時間を取得する必要があります。 Google Maps APIの唯一のラッパーで、Google Maps API V2(非推奨)を使用するか、運転時間を提供する機能がないことがわかりました。私はこれをローカルアプリケーションで使用しており、Google Maps API V3が利用可能なJavaScriptの使用に縛られたくありません。

14
tsspires

Google Distance Matrix APIへのURLリクエストと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']
25
tsspires
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'])

これは here から取られたものです。また、それに応じてパラメーターを変更することもできます。

11
Domnick

このリンクを確認してください: https://developers.google.com/maps/documentation/distancematrix/#unit_systems

「オプションのパラメーター」に関する部分を読んでください。基本的に、URL内のリクエストにパラメーターを追加します。したがって、サイクリングが必要な場合は、「mode = bicycling」になります。リンクの下部にある例を確認して、いくつかのパラメーターを試してください。幸運を!

2
Chad tialino