Potrzebuję uzyskać czas jazdy między dwoma zestawami współrzędnych za pomocą Python. Jedyne opakowania dla interfejsu Google Maps API, które udało mi się znaleźć, to albo korzystają z Google Maps API V2 (przestarzałe) albo nie mają funkcji zapewniającej czas prowadzenia pojazdu. Używam tego w aplikacji lokalnej i nie chcę być zobowiązany do używania JavaScript, do czego jest dostępny interfejs API Map Google V3.Python Google Maps Driving Time
Odpowiedz
Korzystanie z żądań URL do interfejsu Google Distance Matrix API i interpretera json to zrobić:
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']
dzięki temu jest świetny. Zastanawiałem się, w jaki sposób można na przykład zmienić tryb podróży z czasu prowadzenia pojazdu na czas cyklu? – RegUser
@RegUser wystarczy zmienić 'mode = driving' na' mode = bicycling' w adresie URL. – thefoxrocks
Wielkie dzięki .. oszczędza mi to dzień !! – Harkedian
Sprawdź ten link: "Opcjonalne parametry" https://developers.google.com/maps/documentation/distancematrix/#unit_systems
przeczytać część o zasadniczo dodajesz parametr do swojego żądania w adresie URL. Więc jeśli chcesz jeździć na rowerze, będzie to "mode = bicycling". Sprawdź przykład na dole linku i baw się przy niektórych parametrach. Powodzenia!
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'])
to podjęto z here I alternatywnie można zmieniać parametry odpowiednio.
- 1. Google Maps Distance Matrix nieprawidłowy wynik
- 2. Narysuj mapę polilinii na drodze Aplikacja Google Maps Google Maps
- 3. Google Maps API directionsService.route różni się od Google Maps Directions
- 4. Google Maps v3 OverlayView.getProjection()
- 5. DrawerLayout z Google Maps
- 6. Google Earth Heat Maps
- 7. Google maps odległość approximation
- 8. Google Maps API DeletedApiProjectMapError
- 9. Google maps responsive resize
- 10. Google maps removal control
- 11. Google Maps i DART
- 12. Google Maps Infowindow Pozycja
- 13. Google maps infobox - maxWidth
- 14. Google Maps HTTP API do wskazówek dotyczących jazdy i pieszych
- 15. Python DST & Time Strefa wykrywania po dodaniu
- 16. Python time to age, part 2: timezones
- 17. Google Maps Funkcja API map.getCenter()
- 18. Dynamicznie ładowanie Google Maps api
- 19. Kontrolowanie szerokości Google Maps InfoWindow
- 20. Google Maps powracający błąd 610
- 21. Adres autouzupełniania + Google Maps API
- 22. AngularUI - Google Maps - Usunąć marker
- 23. zombie.js i Google Maps API
- 24. Google Maps Api w warstwach
- 25. Google Maps API Geocode Synchronously
- 26. Twitter Bootstrap i Google Maps
- 27. Google Maps API bez klucza?
- 28. Rozmyty/Uszkodzony Google Maps Controls
- 29. Google Maps Rozdzielczość rzędowa APIv3
- 30. Google Maps dla Absolute Dummies
Czy nie jest to niezgodne z Warunkami korzystania z usługi Mapy Google? Nie sądzę, że możesz po prostu uzyskać czas prowadzenia pojazdu, chyba że wyświetlasz użytkownikowi Mapy Google. (https://developers.google.com/maps/terms, sekcja 10.1 g, "Bez użycia zawartości bez mapy Google") – element119
Nigdy nie powiedziałem, że nie będę wyświetlał mapy, mimo że nie to potrzeba. Gdybym nie był tym, co jest dostępną alternatywą? Ponieważ nie mam z tym problemu, jak mogę rozwiązać problem ze znalezieniem czegoś do pracy z pythonem? Chociaż obecnie używam rozwiązania Google Distance Matrix jako rozwiązania. – tsspires
Ponieważ interfejs API v3 jest JS-only, każda funkcjonalność musi być uruchamiana przez przeglądarkę internetową. Istnieją jednak projekty takie jak pygmaps (https://code.google.com/p/pygmaps/) i py-googlemaps (http: //py-googlemaps.sourceforge.net/), które działają jako wrappery Pythona dla operacji API, podczas gdy JS działa w tle. – element119