web-dev-qa-db-fra.com

Obtenir uniquement des résultats spécifiques à un pays en utilisant google geocode api

J'utilise google geocode api pour aller chercher longtemps avec code postal de Singapour

J'ai essayé de suivre pour récupérer des données:

(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&region=sg

Mais il retourne la position de l'Inde

https://developers.google.com/maps/documentation/geocoding/?hl=fr#RegionCodes

N'importe quel autre moyen d'obtenir un résultat spécifique à un pays (Singapour).

J'ai essayé de le suivre retourne résultat correct

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

16
steve

Pour limiter les résultats à un pays spécifique, utilisez le filtrage par composants.

L'URL devrait être http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false&components=country:SG

Mais ce n’est pas le problème ici, le résultat du géocodeur est faux, car le résultat a le pays défini sur SG, mais l’emplacement est incorrect (placé en Inde). 

Je crains qu'avec l'adresse indiquée (il semble que le code postal n'existe pas), la seule chose à faire est de signaler le résultat erroné à Google.

21
Dr.Molle

La bonne façon de procéder consiste à fournir composantRestrictions

Par exemple:

var request = {
    address: address,
    componentRestrictions: {
        country: 'UK'
    }
}
geocoder.geocode(request, function(results, status){
    //...
});
24
Deminetix
7
Vivek Barai

Vous devriez pouvoir utiliser cette approche http://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code:5037

supprimez l'adresse et le composant transmettez le code postal et assurez-vous que si l'adresse a une valeur, laissez-la passer à une autre valeur sélectionnée par l'utilisateur avec le code postal pour valider votre api ou sinon sans code postal transmis, il y aura fuite 

0
Jabes Pauya