Maps for WinForms
凡例の追加
Map コントロールの操作 > 凡例の追加

C1Map では、マップ内のベクター要素やマーカーについて説明する凡例を追加できます。凡例は、MapLegend クラスを使用してマップに表示できます。凡例を追加したら、それに凡例項目を追加する必要があります。凡例項目は、MapLegendItem クラスを使用して表示できます。次のコードを使用して、マップに凡例と凡例項目を追加してカスタマイズできます。

C1Map1.TileLayer.TileSource = New VirtualEarthRoadSource()

Dim legend = New C1.Win.Map.MapLegend()
C1Map1.Legends.Add(legend)
legend.Alignment = ContentAlignment.TopRight
legend.Margin = New Padding(0, 20, 20, 0)
legend.Padding = New Padding(5)
legend.Layout = MapLegendLayout.Column
legend.Style.Border.Width = 1

legend.Title.Caption = "凡例"
legend.Title.Position = DockStyle.Top
legend.Title.Padding = New Padding(5)
legend.Title.Style.Alignment = ContentAlignment.MiddleCenter
legend.Title.Style.Font = New Font("Arial", 12, FontStyle.Bold)

Dim item1 = New C1.Win.Map.MapLegendItem()
legend.Items.Add(item1)
item1.Label = "項目1"
item1.Kind = MapLegendItemKind.Marker
item1.Shape = MarkerShape.Circle
item1.Style.BackColor = Color.Blue

Dim item2 = New C1.Win.Map.MapLegendItem()
legend.Items.Add(item2)
item2.Kind = MapLegendItemKind.Rectangle
item2.Label = "項目2"
item2.Size = New SizeF(20, 20)
item2.Style.Alignment = ContentAlignment.MiddleLeft
c1Map1.TileLayer.TileSource = new VirtualEarthRoadSource();

var legend = new C1.Win.Map.MapLegend();
c1Map1.Legends.Add(legend);
legend.Alignment = ContentAlignment.TopRight;
legend.Margin = new Padding(0, 20, 20, 0);
legend.Padding = new Padding(5);
legend.Layout = MapLegendLayout.Column;
legend.Style.Border.Width = 1;

legend.Title.Caption = "凡例";
legend.Title.Position = DockStyle.Top;
legend.Title.Padding = new Padding(5);
legend.Title.Style.Alignment = ContentAlignment.MiddleCenter;
legend.Title.Style.Font = new Font("Arial", 12, FontStyle.Bold);

var item1 = new C1.Win.Map.MapLegendItem();
legend.Items.Add(item1);
item1.Label = "項目1";
item1.Kind = MapLegendItemKind.Marker;
item1.Shape = MarkerShape.Circle;
item1.Style.BackColor = Color.Blue;

var item2 = new C1.Win.Map.MapLegendItem();
legend.Items.Add(item2);
item2.Kind = MapLegendItemKind.Rectangle;
item2.Label = "項目2";
item2.Size = new SizeF(20, 20);
item2.Style.Alignment = ContentAlignment.MiddleLeft;