ASP.NETアプリケーションでSharpMapを使う

ここまで、WindowsアプリケーションにてSharpMapを利用する方法を紹介してきましたが、Webアプリケーション(ASP.NET)でもSharpMapを使用することができます。簡単にその方法について紹介します。

SharpMapを使用して地図を生成したASP.NETページ

環境の準備

開発環境としてVisual Studio(Visual Web Developer) 2005/2008が必要です。 Webサイトを新規作成したら、BinフォルダにSharpMap.dllを、App_Dataフォルダにシェープファイルを配置します。そして、Web構成ファイル(web.config)を追加します。

環境設定後のソリューションエクスプローラ

設定ファイル(web.config)の変更

SharpMapには、ASP.NETで画像を使いやすくするためのHTTPハンドラ(特定の拡張子やURLごとに個別の処理を行う機能)が用意されています。そのHTTPハンドラを利用するために、Web構成ファイル(web.config)のセクションに次の設定を記述します。

リスト10 Web.config抜粋 - ShowMap.aspxで地図を出力するように設定


   <httpHandlers>
        <add verb="*" path="ShowMap.aspx" type="SharpMap.Web.HttpHandler,SharpMap"/>
     </httpHandlers> 

この設定によって、ShowMap.aspxというURLアクセスがあった場合、SharpMap.Web.HttpHandlerクラスが画像イメージを出力するようになります。

Webページのデザイン

次にWebページをデザインします。SharpMapが生成した地図を表示するためのコントロールを配置します。

リスト11 Default.aspx抜粋 - ImageButtonコントロールを配置


    <asp:ImageButton Width="400" Height="300" ID="imgJapan" 
         runat="server" OnClick="imgJapan_Click" />

ここでは、ImageButtonコントロールをimgJapanという名前でページに配置します。画像がクリックされた場合には、imgJapan_Clickがイベントが呼び出されるように設定します。