2012年2月4日土曜日

YOLP (Yahoo! Open Local Platform) で緯度経度から住所取得

前回に引き続き、Yahoo!がAPIとして提供している YOLP (Yahoo! Open Local Platform)を使用して、周辺検索のサンプルを作っていきます。

今回は、緯度経度情報から、地図の中心の住所を取得して表示してみます。

使用するAPIは、リバースジオコーダーです。

今回作成したサンプルは、こちらです。

地図を移動させると、地図の上部の住所が地図の中心に合わせて表示されます。


緯度経度から、住所文字列を取得している部分はこんな感じです。



var current_point = function(lat,lon) {

    $.getJSON("http://reverse.search.olp.yahooapis.jp/OpenLocalPlatform/V1/reverseGeoCoder?output=json&lat=" + lat + "&lon=" + lon + "&appid=(取得したAPPID)&callback=?",function(result){
            address = result.Feature[0].Property.Address;
            $("#current_position").html(address);
    });
}


var latLng = ymap.getCenter();
current_point(latLng.lat(),latLng.lon());



APIのリクエストには、jQueryを使用しました。

$.getJSON に、リバースジオコーダーのAPIのリクエストを渡して、resultにレスポンスを取得します。

result.Feature[0].Property.Address に、指定した緯度経度の住所文字列が格納されているので、その値を、id: current_position に表示します。

全体のソースコードは、サンプルページで確認ください。

このサンプルでは、前回に追加してローカルサーチをYOLPで準備された Y.LocalSearch を使用せずに、jQueryの$.getJSONを使用してリクエストしています。
こちらの解説は次回行う予定です。




モバイル端末等で、GPSで緯度経度を取得して表示する場合は、

こちらも参考にしてください。

ちかくのコンビニ のサービスで使用してます。








0 件のコメント:

コメントを投稿