2013-06-24 9 views
10

Python kullanarak iki takım koordinat arasında süreye geçmem gerekiyor. Google Haritalar API'sı için tek sarmalayıcılar, Google Haritalar API'sı V2'yi (kullanımdan kaldırılmış) kullanabildim ya da sürüş süresi sağlayan işlevselliğe sahip değildim. Bunu yerel bir uygulamada kullanıyorum ve Google Maps API V3'ün kullanıma sunulduğu JavaScript'i kullanmak istemiyorum.Python Google Maps Sürüş Süresi

+0

Bu, Google Haritalar TOS'una aykırı değil mi? Ayrıca, Google Haritalar’ı kullanıcıya göstermediğiniz sürece de sürüş süresi elde edeceğinizi sanmıyorum. (https://developers.google.com/maps/terms, bölüm 10.1 g, "Bir Google Haritasız İçeriği Kullanmayın") – element119

+0

Hiçbir zaman bir haritayı göstermeyeceğimi asla söylemedim. gerekir. Mevcut bir alternatif olmasaydım? Bunu yaparken hiç sorunum olmadığından, python ile çalışmak için bir şey bulma konusunu nasıl çözebilirim? Şu anda Google Distance Matrix'i bir çözüm olarak izliyorum. – tsspires

+0

API v3 yalnızca JS olduğundan, herhangi bir işlev bir web tarayıcısı üzerinden çalıştırılmalıdır. Ancak, pygmaps (https://code.google.com/p/pygmaps/) ve py-googlemaps (http: Arka planda JS çalışırken API işlemleri için Python sarmalayıcıları olarak çalışan //py-googlemaps.sourceforge.net/). – element119

cevap

22

URL İsteklerini Google Distance Matrix API'sına ve json yorumlayıcısına kullanarak yapabilirsiniz. bunu yapmak:

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

teşekkürler bu harika. Sürüş zamanından örneğin sürüş zamanına nasıl geçiş yapabileceğinizi merak ediyordum. – RegUser

+0

@RegUser sadece url'de 'mode = driving'' 'mode = bicycling' olarak değiştirin. – thefoxrocks

+0

Çok teşekkürler ... günümü kurtardı! – Harkedian

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

Bu here alınmış olup Ve alternatif olarak buna göre parametreleri değiştirebilirsiniz.