Google Geocoding APIは、郵便番号の検索を提供し、住所として郵便番号だけを指定しても、国、都市、緯度/経度を提供できます。緯度/経度を取得したら、距離を簡単に計算して結果を並べ替えることができます。
http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests
注:GeocodingAPIはGoogleマップと組み合わせてのみ使用できます。地図に表示せずに結果をジオコーディングすることは禁止されています。許可されている使用法の詳細については、リンクを参照してください。
したがって、たとえば、郵便番号94043の検索を要求する場合は、次のURLを呼び出します。
http://maps.googleapis.com/maps/api/geocode/json?address=94043&sensor=false
これは、次のようなJSONで発生します。
{
"results" : [
{
"address_components" : [
{
"long_name" : "94043",
"short_name" : "94043",
"types" : [ "postal_code" ]
},
...
"location" : {
"lat" : 37.4284340,
"lng" : -122.07238160
},
"location_type" : "APPROXIMATE",
...
"status" : "OK"
}
何らかの理由でGoogleAPIを使用できない場合は、GoogleGeocoder以外のAPIとサービスのリストを以下に示します。