Bing Maps上に地震の震源地を表示するプログラムを作る

2013年2月20日(水)
薬師寺 国安

今回のサンプルはWeb APIを使って、地震の震源地をBing Maps上に表示するものです。下記のAPIで返される、結果XMLを使用します。
→ http://api.nmzu.jp/history.xml

※今回使用している地震のAPIはmogkenさん作成のものです、mogkenさんのサイトについては
http://nmzu.jp/を参照してください。

日本地図上に、当日と、昨日、それ以外の日に発生した地震の震源地に●印が表示されます。当日発生した地震の震源地は赤色、前日の震源地はオレンジ色で表示され、それ以前の震源地は黄色で表示されます(図1)。

●印をタップすると、「発生日時」、「震源地」、「マグニチュード」、「震度」の情報が表示されます(図2)。

マウスの右クリックで表示される「Save」アイコンをタップすると、現在の地震の震源地情報が保存され、「過去のデータ一覧」ボタンの使用が可能になります。このボタンをタップすると、リストボックス内に保存された地震データのXMLファイルが一覧で表示されます。

任意のXMLファイルを選択すると、その日付の地震のデータが表示されます。その当日発生した地震の震源地は赤色で表示されますが、前日の震源地はオレンジでは表示されません。当日の地震の震源地以外は全て黄色で表示されます(図3)。

「過去のデータ一覧」ボタンが「現在のデータ表示」に代わりますので、これをタップすると現在発生している地震の震源地の位置が表示されます。[+]、[-]ボタンで地図の拡大、縮小が行えます。また地図の表示モードも選択可能です(図4)。

図1:地震の震源地に●印が表示されている。当日発生した地震の震源地には赤い●、前日発生した地震の震源地にはオレンジの●、それ以外は黄色の●が表示されている(クリックで拡大)
図2:任意の前日に発生した地震の震源地の●印をタップすると、詳細情報が表示される(クリックで拡大)
図3:マウスの右クリックで表示されるバーから、過去に発生した地震の震源地の情報を表示させた(クリックで拡大)
図4:地図を航空モードで表示させた(クリックで拡大)

実際に動かした動画は下記のようになります。Windows Store Applicationの動画を撮るアプリケーションが存在していませんので、スマホで撮った動画です。見難い点はご了承願います。

サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。

プロジェクトの作成

VS 2012のメニューから[ファイル(F)/新規作成(N)/プロジェクト(P)]と選択します。次に、「テンプレート」から「Windows ストア」を選択し、右に表示される項目名から「新しいアプリケーション(XAML)」を選択します。「名前(N)」に任意のプロジェクト名を指定します。ここでは「Win8_EarthQuakeJapan」という名前を付けています。

「拡張機能と更新プログラム」から「Bing Maps SDK for Windows Store apps」のインストール

Bing MapsをWindows ストアから使用するには、あらかじめ「Bing Maps SDK for Windows Store apps」をインストールしておく必要があります。

まず、VS2012のメニューの「ツール(T)/拡張機能と更新プログラム(U)」と選択します。表示される画面の左から、「オンライン」を選択します。すると「Bing Maps SDK for Windows Store apps」の「ダウンロード」が出てきますので「ダウンロード」をクリックします(図5)。
「ダウンロード」をクリックすると「ダウンロード」が開始されます(図6)。
「ダウンロード」が完了すると「インストール」が出てきますので、これをクリックしてインストールします(図7)。
インストールが完了すると、「Bing Maps SDK for Windows Store apps」の右隅上にインストール済みのアイコンが付きます(図8)。

図5:「Bing Maps SDK for Windows store apps」の「ダウンロード」をクリック(クリックで拡大)
図6:「Bing Maps SDK for Windows store apps」の「ダウンロード」が開始される(クリックで拡大)
図7:「Bing Maps SDK for Windows store apps」のインストール画面になる(クリックで拡大)
図8:「Bing Maps SDK for Windows store apps」のインストールが完了すると、インストール済みのアイコンが表示される(クリックで拡大)

[今すぐ再起動]をクリックしてVS2012を再起動してください。

参照の追加

ソリューションエクスプローラーの「全てのファイルを表示」アイコンをクリックして、「参照設定」を表示させます。「参照設定」を選択状態にし、マウスの右クリックで表示されるメニューから、「参照の追加(R)」を選択します。表示される画面の左に表示されるWindowsを展開して「拡張」をクリックします。すると図9の画面が表示されますので、図9のように2つの名前を選択してチェックを付け、〔OK〕をクリックします。「Bing Maps for C#, C++, or Visual Basic 」をチェックします。また,C#とVisual Basicのプロジェクトの場合,「Microsoft Visual C++ Runtime Package」も必要ですので、併せてチェックします。

図9:ソリューションエクスプローラーの「参照設定」から「参照の追加」を選択しBing Maps関連の名前にチェックを入れて〔OK〕ボタンをクリックする(クリックで拡大)

すると、ソリューションエクスプローラー内の「参照設定」内に2つの名前が追加されます。しかし名前の先頭に黄色い▲マークが表示され、まだBing Maps SDKが使用できない状態になっています(図10)。

図10:まだBing Maps SDKが使用できない状態にある
  • Bing Maps上に地震の震源地を表示するWindowsアプリ

薬師寺国安事務所

薬師寺国安事務所代表。Visual Basic プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット PROJECT KySS を結成。2003年よりフリーになり、PROJECT KySS の活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。Windows Phoneアプリ開発を経て、現在はWindows ストア アプリを多数公開中

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています