Ich benutze Google Geocode API zum Abrufen von Lat Long mit Postleitzahl von Singapur
Ich habe folgendes versucht, um Daten abzurufen:
(1) http://maps.googleapis.com/maps/api/geocode/json?address=505468&sensor=false
(2) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false
(3) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false®ion=sg
Aber es kehrt aus Indien zurück
https://developers.google.com/maps/documentation/geocoding/?hl=fr#RegionCodes
Jeder andere Weg, um nur länderspezifische (Singapur) Ergebnisse zu erhalten.
Ich habe versucht es zu befolgen und liefert ein korrektes Ergebnis
http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20133224&sensor=false
Um die Ergebnisse auf ein bestimmtes Land zu beschränken, verwenden Sie die Komponentenfilterung.
Die URL sollte http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false&components=country:SG
sein.
Aber das ist nicht das Problem, das Geocoder-Ergebnis ist falsch, weil das Land auf SG
gesetzt ist, der Ort aber falsch ist (in Indien).
Ich habe Angst mit der angegebenen Adresse (es scheint, dass die Postleitzahl nicht existiert). Das einzige, was Sie tun können, ist, das falsche Ergebnis an Google zu melden.
Der richtige Weg, dies zu tun, ist die Bereitstellung von componentRestrictions
Zum Beispiel:
var request = {
address: address,
componentRestrictions: {
country: 'UK'
}
}
geocoder.geocode(request, function(results, status){
//...
});
sie können ein einzelnes Land oder mehrere Länder festlegen
OR
Sie sollten diesen Ansatz verwenden können http://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code:5037
entfernen Sie die Adresse und geben Sie die Komponente an, geben Sie die Postleitzahl ein. Stellen Sie sicher, dass die Adresse einen Wert hat, der vom Benutzer mit der Postleitzahl ausgewählt wurde, um Ihre API zu bestätigen. Andernfalls wird die Postleitzahl ohne Weiterleitung an eine andere Adresse übertragen