プログラムの内容について簡単に見ていきましょう。
リスト2 Form1.cs抜粋 - Mapクラスの初期設定
_Map = new Map(new Size(picJapan.Width, picJapan.Height));
_Map.BackColor = Color.LightBlue;
SharpMapで地図を描画する場合、地図そのものを表すMapクラスを利用します。Mapクラスのコンストラクタには、地図のサイズ(System.Drawing.Sizeクラス)を設定できます。ここでは、表示するピクチャーボックスの横サイズと縦サイズを設定しています。
MapクラスのBackColorプロパティで背景色を設定できます。ここでは海をイメージした薄い青色を設定しています。
レイヤを表すVectorLayerクラス
次に地図データを表すレイヤを作成しています。レイヤを作成する場合、VectorLayerクラスを利用します。
リスト3 Form1.cs抜粋 - レイヤとスタイルの設定
VectorLayer baseLayer = new VectorLayer("行政区域");
baseLayer.DataSource = new ShapeFile(@"..\..\ShapeFiles\bnda_1_1.shp");
baseLayer.Style.Fill = Brushes.GreenYellow;
baseLayer.Style.Outline = Pens.Green;
baseLayer.Style.EnableOutline = true;
VectorLayerクラスのコンストラクタには、レイヤの名前を指定する必要があります。ここでは、「行政区域」という名前を指定しています。 レイヤのデータにあたるシェープ形式のファイルを読み込むには、ShapeFileクラスをインスタンス化して、レイヤのDataSourceプロパティに設定します。ShapeFileクラスのコンストラクタでは、シェープファイルのパスを指定します。ここでは、実行ファイル(*.exeファイル)から見て、2つ上のShapeFilesフォルダの「bnda_1_1.shp」ファイルのパスを指定しています。 このシェープファイルは、面(ポリゴン)データで、そのスタイルとして、背景を黄緑色に、県市境を緑色に指定しています。