3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(.Net)任意の住所の地図をGoogleMaps(ブラウザ上で)で表示する

スタンドアロンアプリケーションから任意の住所の地図を表示する方法です。

最初はGoogle APIとかAPI Key取得し使って住所を緯度経度に変換して、マークつけて、とかしないといけないのかと思ってましが、GoogleAPIって自分のWebにGoogleMaps載せるときに使うものだから、ただ単に公式のGoogleMAPsで地図開くだけなら使う必要ないんですよね。

で、GoogleMapsのURLにパラメータで指定できるんじゃないかと思って調べたら案の定そうでした。
こちらにパラメータの詳細が載っています。

自分が使ったパラメタは下記の通りです。
hl:言語。日本語なら ja。
q:検索ワード。地名か緯度経度が指定し、そこにマーカーをつける。日本語はURLエンコードが必要。ここが肝。
lr:検索言語の指定。日本語なら lang_ja
um:不明。でもGoogle本家サイトから検索するとこのパラメタが付いてた。値は1。
ie:文字コードUTF-8を指定する。
sa:不明。でもGoogle本家サイトから検索するとこのパラメタが付いてた。値は N
tab:不明。でもGoogle本家サイトから検索するとこのパラメタが付いてた。値はwl
z:ズーム。0が縮小、20が拡大。拡大しすぎるとデータがないところもあるので注意。

下記にVB.Netから地図を表記するサンプル入れておきました。

'住所の例
Dim strAdd As String = "千葉県浦安市舞浜1-1"
 
'URL生成
Dim strUrl As String = "http://maps.google.co.jp/maps?hl=ja&q="
'住所をURLエンコード
strUrl = strUrl & Web.HttpUtility.UrlEncode(strAdd) & "&lr=lang_ja&um=1&ie=UTF-8&sa=N&tab=wl&z=15"
 
'既定のブラウザ開く
System.Diagnostics.Process.Start(strUrl)