LabelLayer does not work in IMapFeatureLayer.
Sample code.
```
private void map_MouseDoubleClick(object sender, MouseEventArgs e)
{
// Create plygon layer
IMapFeatureLayer layer = null;
IFeatureSet polygonFs = new FeatureSet(FeatureType.Polygon);
polygonFs.Projection = map.Projection;
polygonFs.DataTable.Columns.Add(new DataColumn("Descr", typeof(string)));
layer = map.Layers.Add(polygonFs);
layer.LegendText = "testPolygon";
layer.Symbolizer.SetOutline(Color.Red, 1f);
IPolygonCategory polygonCategory = new PolygonCategory();
polygonCategory.Symbolizer.OutlineSymbolizer.SetFillColor(Color.Red);
polygonCategory.Symbolizer.OutlineSymbolizer.SetWidth(1);
PolygonScheme polygonScheme = new PolygonScheme();
polygonScheme.Categories.Clear();
polygonScheme.Categories.Add(polygonCategory);
layer.Symbology = polygonScheme;
// Create label layer
LabelSymbolizer labelSymbolizer =
new LabelSymbolizer()
{
FontFamily = "Tahoma",
FontColor = Color.Black,
FontSize = 8,
BackColor = Color.White,
BackColorEnabled = true,
BackColorOpacity = 0.5f,
Orientation = ContentAlignment.MiddleRight,
PartsLabelingMethod = PartLabelingMethod.LabelAllParts,
OffsetX = 5
};
ILabelCategory labelCategory =
new LabelCategory()
{
Expression = "Descr",
Name = "Test",
Symbolizer = labelSymbolizer
};
layer.LabelLayer = new MapLabelLayer(layer);
layer.ShowLabels = true;
layer.LabelLayer.Symbology.Categories.Clear();
layer.LabelLayer.Symbology.Categories.Add(labelCategory);
layer.LabelLayer.CreateLabels();
// Create polygon
Coordinate mouseCoordinate = map.PixelToProj(e.Location);
List<Coordinate> polygonCoordinates = new List<Coordinate>();
polygonCoordinates.Add(mouseCoordinate);
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X + 500, mouseCoordinate.Y));
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X + 500, mouseCoordinate.Y + 500));
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X, mouseCoordinate.Y + 500));
IGeometry geometry = GeometryFactory.Default.CreatePolygon(new LinearRing(polygonCoordinates), null);
IFeature feature = layer.DataSet.AddFeature(new Feature(geometry));
feature.DataRow.BeginEdit();
feature.DataRow["Descr"] = string.Format("Date: {0: dd.MM.yyyy HH:mm:ss}", DateTime.Now);
feature.DataRow.EndEdit();
map.Refresh();
}
```
Where am I wrong?
Comments: Not DS issue.
Sample code.
```
private void map_MouseDoubleClick(object sender, MouseEventArgs e)
{
// Create plygon layer
IMapFeatureLayer layer = null;
IFeatureSet polygonFs = new FeatureSet(FeatureType.Polygon);
polygonFs.Projection = map.Projection;
polygonFs.DataTable.Columns.Add(new DataColumn("Descr", typeof(string)));
layer = map.Layers.Add(polygonFs);
layer.LegendText = "testPolygon";
layer.Symbolizer.SetOutline(Color.Red, 1f);
IPolygonCategory polygonCategory = new PolygonCategory();
polygonCategory.Symbolizer.OutlineSymbolizer.SetFillColor(Color.Red);
polygonCategory.Symbolizer.OutlineSymbolizer.SetWidth(1);
PolygonScheme polygonScheme = new PolygonScheme();
polygonScheme.Categories.Clear();
polygonScheme.Categories.Add(polygonCategory);
layer.Symbology = polygonScheme;
// Create label layer
LabelSymbolizer labelSymbolizer =
new LabelSymbolizer()
{
FontFamily = "Tahoma",
FontColor = Color.Black,
FontSize = 8,
BackColor = Color.White,
BackColorEnabled = true,
BackColorOpacity = 0.5f,
Orientation = ContentAlignment.MiddleRight,
PartsLabelingMethod = PartLabelingMethod.LabelAllParts,
OffsetX = 5
};
ILabelCategory labelCategory =
new LabelCategory()
{
Expression = "Descr",
Name = "Test",
Symbolizer = labelSymbolizer
};
layer.LabelLayer = new MapLabelLayer(layer);
layer.ShowLabels = true;
layer.LabelLayer.Symbology.Categories.Clear();
layer.LabelLayer.Symbology.Categories.Add(labelCategory);
layer.LabelLayer.CreateLabels();
// Create polygon
Coordinate mouseCoordinate = map.PixelToProj(e.Location);
List<Coordinate> polygonCoordinates = new List<Coordinate>();
polygonCoordinates.Add(mouseCoordinate);
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X + 500, mouseCoordinate.Y));
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X + 500, mouseCoordinate.Y + 500));
polygonCoordinates.Add(new Coordinate(mouseCoordinate.X, mouseCoordinate.Y + 500));
IGeometry geometry = GeometryFactory.Default.CreatePolygon(new LinearRing(polygonCoordinates), null);
IFeature feature = layer.DataSet.AddFeature(new Feature(geometry));
feature.DataRow.BeginEdit();
feature.DataRow["Descr"] = string.Format("Date: {0: dd.MM.yyyy HH:mm:ss}", DateTime.Now);
feature.DataRow.EndEdit();
map.Refresh();
}
```
Where am I wrong?
Comments: Not DS issue.