Как я могу найти город и штат, используя почтовый индекс по всему миру, используя API или веб-сервис с PHP? - PullRequest
1 голос
/ 27 июля 2011

Как я могу найти город и штат по почтовому индексу по всему миру, используя API или веб-сервис с PHP? Я пробовал Google Maps Ge API, который отлично работает для США и Канады, но не для Великобритании и Мексики для всех стран. Также я использовал Yahoo API для этого, который работал лучше, чем Google, но против некоторых почтовых индексов и почтовых кодов он возвращает результаты из разных стран.

Кто-нибудь знает, какой API или базу данных я могу использовать, если мне нужно получить город и штат / провинцию против почтовых индексов США, Великобритании, Канады и Мексики?

Ответы [ 3 ]

4 голосов
/ 09 сентября 2011

Ну, не совсем уверен, что это то, что вы ищете, но я работаю над чем-то похожим.Я использую следующие бесплатные веб-сервисы.Пользователь вводит страну и почтовый индекс для использования в вызовах веб-службы.

Документация: www.geonames.org/export/web-services.html

Пользователь должен ввести страну иПочтовый индекс.Чтобы получить список стран: http://api.geonames.org/countryInfo?username=demo ** Зарегистрируйтесь и замените демо-версию своим регистрационным идентификатором.

Используя код страны, выбранный из вышеуказанного сервиса, и почтовый индекс, позвоните: http://api.geonames.org/postalCodeLookupJSON?postalcode=23454&country=US&username=demo

Надеюсь, это поможет.

2 голосов
/ 11 апреля 2013
  $doc = new DOMDocument();
  $url = 'http://maps.googleapis.com/maps/api/geocode/xml?address='.$_GET['Zip'].'@&sensor=true';
  $doc->load($url);
  $result = $doc->getElementsByTagName( "address_component" );
  $i=0;
  foreach( $result as $address_component )
  {
      $short_names = $address_component->getElementsByTagName( "long_name" );
      $short_name = $short_names->item(0)->nodeValue;
      if($i==1)
      {
        echo  $city=$short_name;
         break;  
      }
      $i++;

  }
0 голосов
/ 23 августа 2015

Вот веб-сервис, который делает именно это

https://www.mashape.com/vanitysoft/uk-boundaries-io

.. просто он позволяет получить GeoJson для googleMaps..query путем объединения или объединения почтового индекса Великобритании (например, ZE1 0AE), Сектор, Район, Город и Границы округа

например, округ "Манчестер" Соединенного Королевства ... / border / uk? District = Манчестер предоставит вам GeoJson ниже (все границы сектора в этом округе...

Вы можете использовать это для почтовых индексов США: https://www.mashape.com/vanitysoft/boundaries-io

enter image description here

...