icon 緯度、経度から住所を検索 (2011/02/02)
いわゆる逆ジオコーディングってやつです。
普通にGoogle Maps APIに関数があるので簡単です。

実行結果


<h3>プログラム</h3>
<script type="text/javascript"> 
 
    var map = null;
    var geocoder = null;
 
    function initialize() {
        if (GBrowserIsCompatible()) {
            map = new GMap2(document.getElementById("map_canvas"), {
                              mapTypes: [
                                    G_NORMAL_MAP,
                                    G_SATELLITE_MAP,
                                    G_HYBRID_MAP]
                              });
            map.addControl(new GLargeMapControl());
            map.addControl(new GMapTypeControl());
            map.addControl(new GScaleControl());
            map.setCenter(new GLatLng(<%=$lat %>, <%=$long %>), <%=$rate %>);
            map.addMapType(G_NORMAL_MAP);
            map.enableScrollWheelZoom();

            //map.addMapType(G_SATELLITE_3D_MAP);
            geocoder = new GClientGeocoder();
            GEvent.addListener(map, "click", clicked);
            map.openInfoWindow(map.getCenter(), "クリックしてください");
        }
    }
 
    function clicked(overlay, latlng) {
        if (latlng) {
            geocoder.getLocations(latlng, function(addresses) {
            if(addresses.Status.code != G_GEO_SUCCESS) {
                alert("指定した住所は見つかりませんでした");
            } else {
                address = addresses.Placemark[0];
                $('#address').attr('value', address.address);

                $('#lat').attr('value', latlng.y);
                $('#long').attr('value', latlng.x);
                //map.openInfoWindow(latlng, myHtml);
            }
        });
      }
    }
 </script>
番地まではほぼ完璧に出ますが、号は登録されてなかったりするので
必ずしもヒットするわけではないです。

そこでPostgisで緯度、経度から住所検索をしようと思ったけど、国交省の位置データは番地さえもないですね。

となると、ZenrinとかZenrinとか・・・w