2017-01-25 4 views
0

Je suis assez nouveau à l'API de géolocalisation de Google ...Obtenez Lon. Lat. pour un code postal donné dans un pays donné

J'utilise l'URL suivante pour récupérer des informations de géolocalisation pour une adresse donnée.

http://maps.googleapis.com/maps/api/geocode/json?address=address_value 

Le paramètre d'adresse peut contenir plusieurs informations. Ma recherche sur le formatage correct des valeurs pour l'adresse paramater m'a toujours conduit à utiliser un format comme postcode, country mais cela ne semble pas toujours fonctionner comme souhaité.

Ma question est: Comment puis-je toujours obtenir l'information uniquement pour un pays donné (disons l'Allemagne)?

Exemple:

La gamme de code postal Berlin est 10115-14199

Quand je effectuez les opérations suivantes http://maps.googleapis.com/maps/api/geocode/json?address=10115,%20Germany

-je obtenir les informations correctes (lieu en Allemagne):

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "10115", 
       "short_name" : "10115", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "Mitte", 
       "short_name" : "Mitte", 
       "types" : [ "political", "sublocality", "sublocality_level_1" ] 
      }, 
      { 
       "long_name" : "Berlin", 
       "short_name" : "Berlin", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Berlin", 
       "short_name" : "Berlin", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Deutschland", 
       "short_name" : "DE", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "10115 Berlin, Deutschland", 
... 

Quand j'essaye alors ceci http://maps.googleapis.com/maps/api/geocode/json?address=10696,%20Germany (qui est un code postal existant à Berlin, en Allemagne, ainsi) i obtenir une adresse aux Etats-Unis (où le code postal a été interprété comme numéro de rue)

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "10696", 
       "short_name" : "10696", 
       "types" : [ "street_number" ] 
      }, 
      { 
       "long_name" : "Berlin Road", 
       "short_name" : "Berlin Rd", 
       "types" : [ "route" ] 
      }, 
      { 
       "long_name" : "Berlin Heights", 
       "short_name" : "Berlin Heights", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Berlin Township", 
       "short_name" : "Berlin Township", 
       "types" : [ "administrative_area_level_3", "political" ] 
      }, 
      { 
       "long_name" : "Erie County", 
       "short_name" : "Erie County", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Ohio", 
       "short_name" : "OH", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "USA", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "44814", 
       "short_name" : "44814", 
       "types" : [ "postal_code" ] 
      } 
     ], 
     "formatted_address" : "10696 Berlin Rd, Berlin Heights, OH 44814, USA", 

... 

Répondre

1

Vous devez utiliser des composants tels que

http://maps.googleapis.com/maps/api/geocode/json?address=10696&components=country:DE 
+0

Merci qui a résolu exactement – Benjamin