今回は、緯度経度情報から、地図の中心の住所を取得して表示してみます。
使用する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);
});
}
$.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 件のコメント:
コメントを投稿