2012-07-31 18 views
10

Używam tego wywołania API do Google Maps, aby uzyskać szerokość i długość geograficzną kodem pocztowymGoogle Maps API Kod pocztowy Kod pocztowy i ustawić kod kraju?

http://maps.googleapis.com/maps/api/geocode/json?address=2340&sensor=false

Kod pocztowy znajduje się w Australii. To wywołanie API zwraca lokalizacje na całym świecie z częściowym dopasowaniem kodów pocztowych w adresie.

Czy istnieje parametr, którego mogę użyć do ustawienia kraju na Australię?

Dzięki

Odpowiedz

20

Poprawny sposób to zrobić, nie jest przez regionie dociskający lecz stosując component filtering:

http://maps.google.com/maps/api/geocode/json 
    ?components=country:AU|postal_code:2340 
    &sensor=false 

Niektóre pokazy:

Należy pamiętać, że jeśli używasz parametru components, nie musisz określać parametru adresu.

+0

Dlaczego to nie działa z kodem pocztowym Queensland? http://maps.google.com/maps/api/geocode/json?components=country:AU|postal_code:4072&sensor=false –

2

Dokumentacja mówi, że Region Biasing opiera się na CcTLDs, która stałaby Australia AU (nie próbowałem to sam).

Chociaż stwierdza to również:

Należy zauważyć, że zakłócenia preferuje tylko wyników dla określonej domeny; jeśli istnieją bardziej trafne wyniki poza tą domeną, można je uwzględnić.

+1

Znalazłem, że '? Address = 2340, au & sensor = false' zwraca tylko wyniki z Australii, czy jest to ważne? – Anagio

+1

Tak @Anagio to prawda, umieszczenie ", usa" spowoduje wyświetlenie tylko wyników w Stanach Zjednoczonych, ale to tylko oznacza, że ​​nie będzie wyglądać w żadnym innym kraju, to nie znaczy, że da ci poprawny wynik, dla na przykład, jeśli umieściłem 93274, au daje mi jakieś losowe miasto w Australii, ale nie miasto w Australii, dla tego kodu pocztowego ... Bez względu na przyczynę, jeśli celujesz w konkretny kraj, najlepiej iść dalej i wykorzystywać to, co sugerujesz . Wiem, że upłynęło trochę czasu na odpowiedź w tej sprawie, ale po prostu natknąłem się na to. –

+0

Aby dodać do odpowiedzi Aarona - powyższe zapytanie jest niejednoznaczne między adresem w Australii a numerem ULICZNYM 2340 i przedmieściem z kodem POSTCODE 2340. Gogle wydają się najpierw wyszukiwać numery ulic, co oznacza, że ​​prawdopodobieństwo odzyskania miasta WoopWoop jest proporcjonalna do wartości liczbowej kodu pocztowego. Mniejsze prawdopodobieństwo w QLD (kody pocztowe 4000 plus) niż w NSW (kody pocztowe 2000 +) Filtrowanie komponentów jest poprawne. Użyj: & components = kraj: AU | kod_pakietu: 2340 w url –

Powiązane problemy