Quantcast
Channel: DotSpatial
Viewing all articles
Browse latest Browse all 3973

Closed Unassigned: LabelLayer does not work in IMapFeatureLayer [25461]

$
0
0
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.

Viewing all articles
Browse latest Browse all 3973

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>