GoogleジオコーディングをC#で簡単に利用する方法について

はじめまして、エンジニアのR.Nです。

今回のテクヤンは、

Google Mapsジオコーディングサービスを利用して、
C#で住所から、経度・緯度を取得する方法をご紹介致します。

【サンプルコード】

using System.Net;

// URI で識別されるリソースとのデータの送受信用の共通クラス 
WebClient downloadClient = new WebClient();

// URL
Uri uriUrl = new Uri(string.Format(
  "http://maps.google.com/maps/geo?q={0}&output=csv&sensor=false",
  "※ジオコーディングしたい住所を入力して下さい。"));
// ジオコーティング
string result = downloadClient.DownloadString(uriUrl);
// 取得結果
string[] results = result.Split(',');

downloadClient.Dispose();

WebClientクラスを使用することで、URL実行結果を、文字列で取得することができるため、
プログラム上で扱いやすい形式に変換することができます。
※Dispose()処理を必ず、行ってください。
 連続して処理を実行した場合、メモリ解放が行われず、OutOfMemoryのExceptionが発生するので注意が必要ですが、
 下記のようにUsingを使用すると、エラーが発生した場合でも自動でDispose()処理を行ってくれるので便利です。

【サンプルコード】

using System.Net;

// URI で識別されるリソースとのデータの送受信用の共通クラス 
using (WebClient downloadClient = new WebClient())
{
    // URL
    Uri uriUrl = new Uri(string.Format(
      "http://maps.google.com/maps/geo?q={0}&output=csv&sensor=false",
      "※ジオコーディングしたい住所を入力して下さい。"));
    // ジオコーティング
    string result = downloadClient.DownloadString(uriUrl);
    // 取得結果
    string[] results = result.Split(',');
}
【取得結果詳細】

results[0] ・・・HTTPステータスコード
results[1] ・・・精度
results[2] ・・・経度
results[3] ・・・緯度
【パラメータ説明】
http://maps.google.com/maps/geo?q=XXX&output=csv&sensor=false

     q=XXX   ・・・住所を設定します。
output=csv   ・・・出力形式を設定します。(output=csv:CSV形式で出力 / output=xml:XML形式で出力)
sensor=false ・・・アプリケーション上からセンサー(GPSのような位置を指示する機器)を使って
                   位置を決めることが必要かどうかを設定します。(true:必要 / false:不要)


参考URL
http://code.google.com/intl/ja/apis/maps/documentation/premier/guide.html
http://msdn.microsoft.com/ja-jp/library/system.net.webclient(VS.80).aspx