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
cevap
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']
teşekkürler bu harika. Sürüş zamanından örneğin sürüş zamanına nasıl geçiş yapabileceğinizi merak ediyordum. – RegUser
@RegUser sadece url'de 'mode = driving'' 'mode = bicycling' olarak değiştirin. – thefoxrocks
Çok teşekkürler ... günümü kurtardı! – Harkedian
check out bu bağlantıyı: "Opsiyonel parametreler" https://developers.google.com/maps/documentation/distancematrix/#unit_systems
ilgili bölümü okuyun esas olarak, parametreyi url'nizdeki isteğinize eklersiniz. Yani bisiklete binmeyi istersen, "mod = bisiklet" olurdu. Örnekteki bağlantıya doğru bakın ve bazı parametrelerle oynayın. İyi şanslar!
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.
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
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
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