ThinkGeo.com    |     Documentation    |     Premium Support

Move label when Map move

Hi,



I have add Line layer on the map and also display some data on this layer, now I need to move this data on line when I move the map.

So is it possible?

and if possible how can I achieve this?



Thanks in Advance

Hi Vivek,



Thanks for your post but I didn’t get what’s your scenario. would you please provide more details, especially on “move this data on line”?



Thanks,

Troy 

Hi Troy,



I have load line layer and label on map like, (label comes from database according to table and Field)







Now when I move map that time currently ‘319’ position is fix, so user is not able to view this label when I move map.

but I want this label move when I move map.



so how can I achieve this?

Hi Vivek,



It does be wired, the label should move with the map. I remembered only the Adormentlayer/Overlay won’t move following the map moving.  I tested a label layer from database but it worked as expected. would you please send us your codes so that we can have a further look?  



Thanks,

Troy

Hi Troy, 



Thanks for reply. 



I am using Overlay to add layer on map like, 



Dim layer As MsSql2008FeatureLayer = New MsSql2008FeatureLayer(connectString, "layer", "ID", XXXXX) 

layer.Open() 

layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle.OutlinePen.Color = GeoColor.StandardColors.DarkBlue

layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20 

Dim proj6 As Proj4Projection = New Proj4Projection() 

proj6.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(XXXXX) 

proj6.ExternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString() 

proj6.Open() 

layer.FeatureSource.Projection = proj6 

overlays.LayerOverlay("layer", False, TileType.SingleTile).Layer("layer", layer).IsVisible(True) 



and I am used below line to add label on map 



mssqlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.CreateSimpleTextStyle(Parameters) 



so can you give me demo code according to my requirement?

Hi Vivek,



Your codes looks good and our test codes are very similar with yours:




Dim layer As MsSql2008FeatureLayer = New MsSql2008FeatureLayer(connectString, “layer”, “ID”, 4326)
     layer.Open()
 
     layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = LineStyles.CreateSimpleLineStyle(GeoColor.FromHtml("#FE2EF7"), 6, False)
     layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20
                                             
     Dim proj6 As Proj4Projection = New Proj4Projection()
     proj6.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326)
     proj6.ExternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString()
     proj6.Open()
                                             
     layer.FeatureSource.Projection = proj6
                                                
     overlays.LayerOverlay(“layer”, False, TileType.MultipleTile).Layer(“layer”, layer).IsVisible(True)
                                             
     layer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle = TextStyles.CreateSimpleTextStyle(“FENAME”, “Arial”, 10, DrawingFontStyles.Regular, GeoColor.StandardColors.DarkBlue)

Unfortunately, we still can’t recreate your issue. would you please send us a concrete sample with the database so that we can recreate it in our end? You don’t need to send us the whole database but keep some pieces records is enough. If the sample is large, please send to forumsupport@thinkgeo.com.



Thanks,

Troy




Hi Troy, 
  
 Thanks for reply. 
  
 I have resolved the issue, I have use below two line of code with line layers and it works fine. 
  
 mssqlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle.FittingLineInScreen = True 
 mssqlFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultTextStyle.LabelAllLineParts = True 


Hi Vivek, 
  
 I am glad to hear you solved your issue and thanks for your share! 
  
 Any question please let us know. 
  
 Regards, 
  
 Don