Могу ли я использовать Google / Yahoo Maps API для поиска городов / штатов по почтовому индексу? - PullRequest
2 голосов
/ 19 марта 2010

Я сталкивался с этим, когда делал поиск по SO: Почтовый индекс города / штата и наоборот в базе данных?

Но мне интересно, почему мы не можем просто использовать API Карт для этого? Кто-нибудь пробовал это делать?

Ответы [ 3 ]

1 голос
/ 19 марта 2010

используйте API карт Google Геокодер

1 голос
/ 10 апреля 2010

Да, это довольно легко сделать с помощью Google Maps Geocoding getLocations () .

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Geocoding example</title>
    <script src="http://maps.google.com/maps?file=api&v=2" type="text/javascript"></script>
    <script type="text/javascript">
   var geocoder;
   var map;
   var address = "10001"; //NEW YORK zip
   function load()
   {
      map = new GMap2(document.getElementById("map"));
      geocoder = new GClientGeocoder();
      geocoder.getLocations(address, addToMap);
   }
   function addToMap(response)
   {
      place = response.Placemark[0];
      point = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);
      map.setCenter(point, 13);
      marker = new GMarker(point);
      map.addOverlay(marker);
      marker.openInfoWindowHtml(place.address);
   }
  </script>
  </head>
  <body onload="load()" onunload="GUnload()">
    <div id="map" style="width: 500px; height: 500px"></div>
  </body>
</html>

Вы можете попробовать онлайн в Google code детская площадка .
Веселись!

0 голосов
/ 19 марта 2010

Для этого довольно просто использовать API веб-службы Geonames , в частности метод postalCodeSearch . По моему опыту отлично работает, если вы не отправляете несколько запросов в секунду, хотя результаты кеширования обычно стоят того. (то есть: они не часто меняются.)

...