当我搜索SO时,我遇到了这个问题: Zip Code to City/State and vice-versa in a database?
但我想知道,为什么我们不能只使用Maps API呢?有人试过这样做吗?
答案 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方法。除非您发出多个查询/秒,否则我的经验非常有效,尽管缓存结果通常是值得的。 (即:他们不经常改变。)