2016-07-15 2 views
2

Я хочу использовать API Карт Google для получения координат почтового индекса.Параметр области API Карт Google для поиска в почтовом индексе

Я использую эту документацию: https://developers.google.com/maps/documentation/geocoding/intro?csw=1

Когда я теперь хочу найти почтовый индекс 1200 (Genève в Швейцарии) Я использую этот URL:
https://maps.google.com/maps/api/geocode/json?region=ch&components=postal_code:1200

я получаю много различных результатов, но нет в Швейцарии (результаты этого в конце вопроса). Похоже, что параметр области не работает вообще, потому что я получаю результаты в других странах.

Когда я ищу 1201 (также Genève), он работает.

Любая идея, почему? Я предпочел бы получить какой-либо результат не то неправильные результаты (результаты в других странах)

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1200", 
       "short_name" : "1200", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "Region Brüssel-Hauptstadt", 
       "short_name" : "Region Brüssel-Hauptstadt", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Belgien", 
       "short_name" : "BE", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "1200, Belgien", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 50.86307189999999, 
        "lng" : 4.4629024 
       }, 
       "southwest" : { 
        "lat" : 50.8337598, 
        "lng" : 4.3999935 
       } 
      }, 
      "location" : { 
       "lat" : 50.850308, 
       "lng" : 4.4278228 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 50.86307189999999, 
        "lng" : 4.4629024 
       }, 
       "southwest" : { 
        "lat" : 50.8337598, 
        "lng" : 4.3999935 
       } 
      } 
     }, 
     "place_id" : "ChIJNa8iqqHcw0cRG4NyYbv66KY", 
     "types" : [ "postal_code" ] 
     }, 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1200", 
       "short_name" : "1200", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "Wien", 
       "short_name" : "Wien", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Wien", 
       "short_name" : "Wien", 
       "types" : [ "postal_town" ] 
      }, 
      { 
       "long_name" : "Wien", 
       "short_name" : "Wien", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Österreich", 
       "short_name" : "AT", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "1200 Wien, Österreich", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 48.2646423, 
        "lng" : 16.4007913 
       }, 
       "southwest" : { 
        "lat" : 48.2252299, 
        "lng" : 16.3618448 
       } 
      }, 
      "location" : { 
       "lat" : 48.235668, 
       "lng" : 16.373098 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 48.2646423, 
        "lng" : 16.4007913 
       }, 
       "southwest" : { 
        "lat" : 48.2252299, 
        "lng" : 16.3618448 
       } 
      } 
     }, 
     "place_id" : "ChIJs0PDoUQGbUcRI9VvmpZbVzQ", 
     "types" : [ "postal_code" ] 
     }, 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1200", 
       "short_name" : "1200", 
       "types" : [ "postal_code", "postal_code_prefix" ] 
      }, 
      { 
       "long_name" : "Lissabon", 
       "short_name" : "Lissabon", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Lissabon", 
       "short_name" : "Lissabon", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Portugal", 
       "short_name" : "PT", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "1200 Lissabon, Portugal", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 38.7177413, 
        "lng" : -9.1387655 
       }, 
       "southwest" : { 
        "lat" : 38.7006072, 
        "lng" : -9.168078299999999 
       } 
      }, 
      "location" : { 
       "lat" : 38.7096083, 
       "lng" : -9.1539178 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 38.7177413, 
        "lng" : -9.1387655 
       }, 
       "southwest" : { 
        "lat" : 38.7006072, 
        "lng" : -9.168078299999999 
       } 
      } 
     }, 
     "place_id" : "ChIJT3JAUYI0GQ0R4Nc7DsHrABw", 
     "types" : [ "postal_code", "postal_code_prefix" ] 
     }, 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1200", 
       "short_name" : "1200", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "Mbombela", 
       "short_name" : "Mbombela", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Mbombela", 
       "short_name" : "Mbombela", 
       "types" : [ "administrative_area_level_3", "political" ] 
      }, 
      { 
       "long_name" : "Ehlanzeni", 
       "short_name" : "Ehlanzeni", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "Mpumalanga", 
       "short_name" : "MP", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "Südafrika", 
       "short_name" : "ZA", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "Mbombela, 1200, Südafrika", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : -25.434559, 
        "lng" : 31.035606 
       }, 
       "southwest" : { 
        "lat" : -25.5273621, 
        "lng" : 30.9615131 
       } 
      }, 
      "location" : { 
       "lat" : -25.4922163, 
       "lng" : 31.0048384 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : -25.434559, 
        "lng" : 31.035606 
       }, 
       "southwest" : { 
        "lat" : -25.5273621, 
        "lng" : 30.9615131 
       } 
      } 
     }, 
     "place_id" : "ChIJC-Upoo1J6B4RbhfORqGdY2s", 
     "types" : [ "postal_code" ] 
     }, 
     { 
     "address_components" : [ 
      { 
       "long_name" : "1200", 
       "short_name" : "1200", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "København K", 
       "short_name" : "København K", 
       "types" : [ "political", "sublocality", "sublocality_level_1" ] 
      }, 
      { 
       "long_name" : "København", 
       "short_name" : "København", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "Dänemark", 
       "short_name" : "DK", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "1200 København K, Dänemark", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 55.6788537, 
        "lng" : 12.581048 
       }, 
       "southwest" : { 
        "lat" : 55.6774083, 
        "lng" : 12.5790574 
       } 
      }, 
      "location" : { 
       "lat" : 55.6780957, 
       "lng" : 12.5799054 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 55.6794799802915, 
        "lng" : 12.5814016802915 
       }, 
       "southwest" : { 
        "lat" : 55.6767820197085, 
        "lng" : 12.5787037197085 
       } 
      } 
     }, 
     "place_id" : "ChIJuYvG1hZTUkYREL3-tlYomQk", 
     "types" : [ "postal_code" ] 
     } 
    ], 
    "status" : "OK" 
} 
+0

В соответствии с этими документами код региона «будет влиять только на то, чтобы не ограничивать результаты геокодирования». – duncan

ответ

2

Как Duncan говорил, region code только влияние, но не в полной мере ограничить, результаты от геокодера. Чтобы узнать больше об этом, проверьте region biasing.

Если вы хотите получить конкретные результаты в стране, используйте component = country вместо региона.

Я попытался запросить почтовый индекс: 1200 в стране Швейцария. И я получаю нулевые результаты. Поэтому сделайте запрос, который вы используете, действителен.

https://maps.google.com/maps/api/geocode/json?components=postal_code:1200|country:CH 

И если бы я попробовал POSTAL_CODE: 1201, я получаю конкретные результаты, которые вы хотите.

https://maps.google.com/maps/api/geocode/json?components=postal_code:1201|country:CH 

Если вы уверены, что postal_code: 1200 действует почтовый индекс в Швейцарии, то возможно, что postal_code не считается почтовым индексом для Женевы, Швейцарии Карт Google.

Попытайтесь также проверить этот связанный SO question, на который я ответил.

+0

Использование страны в компоненте является приятным и является тем, что мне нужно. ** postal_code: 1200 ** немного странно, поскольку кажется, что Google не знает об этом – nbar

Смежные вопросы