スタンドアロンアプリケーションから任意の住所の地図を表示する方法です。
最初は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)