2016-04-15 17 views
5

Przeszukałem dokumentację w Google Directions API, a także rozglądałem się po Internecie i nie mogę znaleźć odpowiedzi na moją zagadkę. Moja agencja opracowała interfejs API, aby znaleźć najnowsze możliwe odejście między początkami i celami za pomocą tranzytu, a niektóre z nich zwracają błędy "No_Result". Mogę jednak zwracać wyniki, gdy ręcznie przeszukuję Mapy Google.Google Directions API Transit zwraca Zero_Results, ręcznie przeszukując Google Maps zwraca wynik

Mój program Kierunki API Google wysyła następujące zapytanie:

https://maps.googleapis.com/maps/api/directions/json?units=imperial&origin=650+Memorial+Dr+chicopee+MA&destination=50+College+St+South+Hadley+MA&arrival_time=1461301200&mode=transit

która zwraca:

{ 
    "available_travel_modes" : [ "DRIVING", "BICYCLING", "WALKING" ], 
    "geocoded_waypoints" : [ 
     { 
     "geocoder_status" : "OK", 
     "place_id" : "ChIJ7VtqLK7d5okR-bTUfKuHVpo", 
     "types" : [ "street_address" ] 
     }, 
     { 
     "geocoder_status" : "OK", 
     "place_id" : "ChIJxwHLSqzb5okR1rrjYhcDvkc", 
     "types" : [ "premise" ] 
     } 
    ], 
    "routes" : [], 
    "status" : "ZERO_RESULTS" 
} 

Jednak, kiedy kwerendy ręcznie za pomocą map Google, jestem w stanie zwróci wynik przez tranzyt.

https://www.google.com/maps/dir/650+Memorial+Drive,+Chicopee,+MA/50+College+Street,+South+Hadley,+MA/@42.2678007,-72.7164286,11z/data=!3m1!4b1!4m18!4m17!1m5!1m1!1s0x89e6ddae2c6a5bed:0x9a5687ab7cd4b4f9!2m2!1d-72.5797548!2d42.1751992!1m5!1m1!1s0x89e6dbac4b2aac81:0xe9809aca8e8e0bdc!2m2!1d-72.5766752!2d42.2538136!2m3!6e1!7e2!8j1461200400!3e3

mam dwukrotnie sprawdzane żadnych oczywistych błędów (jak przy użyciu „Rd” zamiast „St” lub wprowadzania adresu, który nie istnieje), ale nie znalazłem żadnego. Zmieniłem także czasy odlotów/przylotów w programie, bez powodzenia.

Komunikat o błędzie wygląda tak, jakby wskazywał, że TRYB jako TRANSIT nie jest opcją pomiędzy tą parą początkową/docelową - ale wtedy interfejs ręczny nie ma problemu.

Czy ktoś wie, dlaczego Google Maps może odrzucić zapytanie API, ale nie zapytanie ręczne? Lub jakieś zasoby, które pomogą ci rozwiązać ten problem? Dzięki!!

+0

Może trafiłeś w obszar "nieobsługiwany" przez API (z jakiegokolwiek powodu ...). To samo dotyczy Tokio, zobacz tutaj: https://issuetracker.google.com/issues/35826181 –

Odpowiedz

4

Tryb (mode=transit) w tekście zapytania powinien być pisany wielkimi literami - zamiast tego spróbuj mode=TRANSIT.

+0

Geniusz! Jeśli przyjmiesz tę odpowiedź, – nbransby

+0

, po wykonaniu tej czynności zwróci DRIVING directions. Zdałem sobie sprawę, że ręcznie zmanipulowane dane LatLng mogą znaleźć się w nieprawidłowej pozycji, nie pasującej do żadnego kierunku podróży. Aby to udowodnić, po prostu skopiuj pozycje LatLng z Map Google i wklej w ciągu URL jako miejsce docelowe i inne jako źródło.Rezultat jest taki, że "tranzyt" najczęściej działa dobrze. – Parkbrakereminder

1

Odpowiedź "Wszystkie litery" jest (nieumyślnie, ale) wprowadzająca w błąd - serwer interfejsu API serwisu Google Maps nie sprawdza poprawności błędów tutaj, a jeśli podasz parametr all-caps mode, zwróci on wskazówki dojazdu Zastanówcie się, w którym trybie pisaliście.

Prawdziwą odpowiedzią jest to, że interfejs API nie obsługuje wszystkich trybów we wszystkich miejscach, nawet w aplikacji Mapy Google. Możesz przesłać prośby o funkcję, aby spróbować przeforsować tę parzystość. Na przykład, transportu publicznego w Japonii: https://issuetracker.google.com/issues/35826181

pytania testowe, aby wykazać, że Mapy Wskazówki odpowiedzi nie obchodzi tryb, który można określić, jeśli robisz to we wszystkich kapitalizacji (upewnij się, aby dodać swój klucz API):

jazdy - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=DRIVING&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY

Transit - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=TRANSIT&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY

Walking - https://maps.googleapis.com/maps/api/directions/json?departure_time=now&destination=place_id%3AChIJp4QhcgzyGGARZaBIPuJzfpg&mode=WALKING&origin=place_id%3AChIJlyOpErWHGGAR0156e32g1Xs&key=API_KEY

Powiązane problemy