ThinkGeo.com    |     Documentation    |     Premium Support

Align Labels to Left

Hi,


I've been trying to make the labels for line features appear just above the left most point using the TextStyle class.  Currently, I can only label them in the center of the line and this causes some visibility issues.


However, I find that the TextStyle class only has labeling properties for points or polygons and not lines.


How do I accomplish this?


Thanks,


Damian A. Hite



Hi Damian, 
  
 Have you tried to set XOffsetInPixel and YOffsetInPixel for TextStyle? I think that should work for place the label on line. 
  
 For point we have PointPlacement property, but you know in most time the lineShape is not straight, so we don’t have a property like that for line. 
  
 Please let me know if XOffsetInPixel and YOffsetInPixel don’t works for you. 
  
 Regards, 
  
 Don

Hi Don, 
  
 Do you have a suggestion for how I calculate X and Y offset in pixels for a line object?   
  
 I don’t know of a method that can relate a line objects length to pixels on the screen.  I guess you need to know something about the zoom level first. 
  
 Any thoughts would be appreciated. 
  
 Regards, 
 Damian

Am trying this… 
  
 ExtentHelper.GetScreenDistanceBetweenTwoWorldPoints()

Damian, 
  
 I think you need try that, and if you want to set different X and Y offset for each zoom level, that should be a little complex. 
  
 Maybe you can try to set one zoomlevel and see whether set the value is useful for your requirement. 
  
 Regards, 
  
 Don

I think you got the right way, Damain, Good luck.