[C#]Yahoo!リバースジオコーダAPI(逆geocode)を使う


1.リバースジオコーダとは?
 緯度/軽度から住所を調べるにはリバースジオコーダを使います。
 WebではYahoo!がAPIとして公開しています。
2.APIを使うには
 最初にアプリケーションIDを取得します。
 詳細はアプリケーションIDとはを見てください。
 Yahoo!リバースジオコーダAPIの詳細はYahoo!リバースジオコーダAPIを見てください。
 
3.実際に作成してみる。
 XMLを使用しますので、以下の宣言を追加します。

using System.Xml;

 住所を取得するコードは以下となります。

/// <summary>
/// Yahoo!リバースジオコードAPIを使用して緯度、経度から住所を取得します。
/// </summary>
/// <param name="fLatitude">緯度</param>
/// <param name="fLongitude">経度</param>
/// <returns>住所</returns>
static public string GetAddress(double fLatitude, double fLongitude)
{
string szAddress = "";
try
{
// getElevation は X_Value に経度、Y_Value に緯度を指定する
string url = String.Format(GMAP_API, fLatitude, fLongitude) + GMAP_KEY;
var xml = new XmlDocument();
xml.Load(url);
var nodes = xml.GetElementsByTagName("Address");
if (nodes != null && nodes.Count > 0)
{
szAddress = nodes[0].InnerText;
}
}
catch (Exception exp)
{
Console.WriteLine(exp.Message);
}
return szAddress;
}

(35.694145281305, 139.69705373285)を指定した時の出力は以下となります。

住所:東京都新宿区西新宿7丁目12

4.サンプルコード
 以下からダウンロードしてください。
TestReverseGeocode.zip


0 件のコメント :

コメントを投稿