我可以使用Google / Yahoo Maps API根据zip查找城市/州吗?

时间:2010-03-19 16:25:45

标签: google-maps google-api yahoo-api

当我搜索SO时,我遇到了这个问题: Zip Code to City/State and vice-versa in a database?

但我想知道,为什么我们不能只使用Maps API呢?有人试过这样做吗?

3 个答案:

答案 0 :(得分:1)

使用google maps api Geocoder

答案 1 :(得分:1)

是的,使用Google地图地理编码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代码playground上尝试在线试用 玩得开心!

答案 2 :(得分:0)

使用Geonames webservice apis非常容易,特别是the postalCodeSearch方法。除非您发出多个查询/秒,否则我的经验非常有效,尽管缓存结果通常是值得的。 (即:他们不经常改变。)