ThinkGeo.com    |     Documentation    |     Premium Support

Label Positioning

How can i set the road labels positioning with CustomStyles? They rendered sometimes below the roads layer. How i can set these z-index level? Or any ideas?


ValueStyle valueStyle16_18 = new ValueStyle();
valueStyle16_18.ColumnName = "TYPE"; 
valItem = new ValueItem("Street", LineStyles.LocalRoad3);  valueStyle16_18.ValueItems.Add(valItem);  
valItem = new ValueItem("AVE", LineStyles.LocalRoad2) { DefaultTextStyle = TextStyles.LocalRoad2("LNAME") };  
valueStyle16_18.ValueItems.Add(valItem);  
valItem = new ValueItem("HIGHWAY2", LineStyles.Highway2) { DefaultTextStyle = TextStyles.Highway2("LNAME") };  
valueStyle16_18.ValueItems.Add(valItem);  
valItem = new ValueItem("HIGHWAY", LineStyles.Highway2) { DefaultTextStyle = TextStyles.Highway2("LNAME") };  
valueStyle16_18.ValueItems.Add(valItem);

roadLayer.ZoomLevelSet.ZoomLevel16.CustomStyles.Add(valueStyle16_18); roadLayer.ZoomLevelSet.ZoomLevel16.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level18; 


Tolga, 
  
 If you have one layer, its label will always be rendered on top of the markers. If you are rendering 2 layers though, let’s say A and B for example, A’s label will on top of A’s markers but will possible under B’s markers. That might be your case that when rendering more multi roads at the same time, one road is possible to overwrite the other’s label.  
  
 So we recommended you to have a dedicate layer for labeling. Create 2 layers for one data, one for rendering shapes and the other just for labeling. A bit duplicate code will make your render easier to control and not confusing any more. Have a look at the sample Labeling->LabelNiceLookingRoads for more detail. 
  
 Let me know if you have any queries. 
  
 Thanks, 
  
 Ben