2017-05-11 3 views
-1

Ich habe ein Problem mit der Suche nach einer Adresse, wenn alles, was ich habe, ist die Straße Nummer + Straßenname und eine Postleitzahl (vorausgesetzt in den USA).Google Maps API-Anfrage mit Komponenten Probleme mit der Postleitzahl

über URL-Parameter wie:

address=1234+street+rd%2C12345%2Cunited+states 

scheint immer < 12345 zu interpretieren> als Teil der Straße, wie eine Untereinheit oder so etwas. Mit Komponenten Parameter wie:

address=1234+street+rd%2Cunited+states&components=postal_code:12345 

wird die richtige Postleitzahl finden, aber die Adressinformationen für den spezifischen Ort wie der Hausnummer und den Namen nicht zurück.

Wenn ich auch die Routenkomponente hinzufüge und den Straßennamen festlege, wird die vollständige Adressinformation zurückgegeben. Ebenso, wenn ich die Örtlichkeit Komponente verwenden, dann die volle Information zurückgegeben werden:

address=1234+street+rd&components=locality:city+land|postal_code:12345 
address=1234+street+rd&components=route:street+rd|postal_code:12345 

Das Problem ist, ich den Geocoder bin mit den Adressen zu analysieren, damit ich auf eine vollständige Adresse Antwort verlasse mich um die Komponenten zu erhalten. In diesem speziellen Fall bin ich davon ausgegangen, dass der Benutzer nur eine Postleitzahl und Straßeninformationen eingegeben hat, so dass ich keine Lokalität hinzufügen kann (ohne eine zweite Karte zu verwenden), noch möchte ich davon ausgehen, dass die Straßeninformationen korrekt sind.

Kann jemand etwas Licht auf mögliche Probleme im Im rennen oder möglicherweise, wie man einen Karten-API-Anruf mit nur Straßennummer, Straßenname, Postleitzahl und Land bekannt machen lassen?

Antwort

1

Die Dokumentation Geocoding API sagt der folgende:

Eine Abfrage ein Komponentenfilter liefert nur die Geokodierung Ergebnisse enthalten, die dem Filter entsprechen. Wenn keine Übereinstimmungen gefunden werden, gibt der Geocodierer ein Ergebnis zurück, das dem Filter selbst entspricht.

https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering

Also, wenn address=1234+street+rd%2Cunited+states&components=postal_code:12345 eine Postleitzahl gründet ist es wahrscheinlich, weil die Adresse von Google-Datenbank fehlt.

Sie haben eine Option fehlende Adressen zu berichten, wie hier beschrieben:

https://support.google.com/maps/answer/3094045?hl=en&ref_topic=3093612

hoffe, das hilft!

+0

Leider denke ich, das ist nur ein Fehler mit der API. Die Adresse, mit der ich teste, erscheint auch nicht in einer breiten Suche, wenn ich nur Straßeninformationen eingabe. Es gibt 3 andere Ergebnisse mit den gleichen Straßeninformationen, aber nicht mit meiner spezifischen Adresse. –

Verwandte Themen