2012-07-31 5 views
10

Ich verwende diesen API-Aufruf zu Google Maps Breite und Länge eines PostleitzahlGoogle Maps API Geocode Postleitzahl und Ländercode festlegen?

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

Die Postleitzahl ist in Australien zu erhalten. Dieser API-Aufruf gibt Orte auf der ganzen Welt mit teilweise übereinstimmenden Postleitzahlen in der Adresse zurück.

Gibt es einen Parameter, den ich verwenden kann, um das Land nach Australien zu setzen?

Dank

Antwort

20

Der richtige Weg, dies zu tun ist, nicht über Region Vorspannen sondern mit component filtering:

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

Einige Demonstrationen:

Bitte beachten Sie, dass Sie bei Verwendung des Parameters components den Adressparameter nicht angeben müssen.

+0

Warum funktioniert es nicht mit einer Postleitzahl von Queensland? http://maps.google.com/maps/api/geocode/json?components=country:AU|postal_code:4072&sensor=false –

2

Die Dokumentation sagt, dass Region Biasing auf CcTLDs basiert, die Australien au machen würde (habe es selbst nicht ausprobiert). diese

Obwohl es heißt auch:

Beachten Sie, dass Vorspannen nur Ergebnisse für eine bestimmte Domäne bevorzugt; Wenn relevantere Ergebnisse außerhalb dieser Domäne vorhanden sind, können diese enthalten sein.

+1

Ich fand, dass? Adresse = 2340, au & Sensor = false? Gibt nur Ergebnisse aus Australien ist das gültig obwohl? – Anagio

+1

Ja @Anagio das ist richtig, die Platzierung eines ", USA" würde in der Anzeige nur Ergebnisse in den Vereinigten Staaten führen, aber das bedeutet nur, dass es in keinem anderen Land aussehen wird, es bedeutet nicht, dass es Ihnen ein richtiges Ergebnis geben wird, für Beispiel wenn ich 93274 setze, gibt es mir eine zufällige Stadt in Australien, aber nicht die Stadt in Australien für diese Postleitzahl ... Was auch immer der Grund ist, wenn Sie ein bestimmtes Land anvisieren, ist es das Beste, weiterzumachen und zu verwenden, was Sie vorschlagen . Ich weiß, dass es eine Weile her ist, eine Antwort zu bekommen, aber ich bin gerade zufällig darüber gestolpert. –

+0

Um Aarons Antwort hinzuzufügen - die obige Abfrage ist zwiespältig zwischen einer Adresse in Australien mit einer STREET NUMBER von 2340 und einem Vorort mit einer POSTCODE von 2340. Goggle scheint die Straßennummern zuerst zu suchen, was bedeutet, dass die Wahrscheinlichkeit, eine Stadt zurück zu bekommen WoopWoop ist proportional zum numerischen Wert der Postleitzahl. Weniger wahrscheinlich in QLD (Postleitzahlen 4000 plus) als in NSW (Postleitzahlen 2000 +) Die Komponentenfilterung ist korrekt. Verwenden Sie: & components = country: AU | post_code: 2340 in der URL –