ThinkGeo.com    |     Documentation    |     Premium Support

TrackInteractiveOverlay Styling

Hi,


I have had some good success using the articles in the wiki, and other discussion topics to alter the styling for TrackInteractiveOverlay while the user is digitising their shape.


My problem is this.


I want display metadata about the shape, such as Length, Width, Height, Area, Circumference, Radius, Diameter, while the user is digitising the shape.


I plan to use LabelStyles to show this information around the shape, but I need to add the metadata values to the Feature.ColumnValues as the shape moves.


Where should I put the logic to update these values? (should I override TrackInteractiveOverlay and some method?)


Also, would you suggest a different way to achieve this?


Kris



Hi Kris, 
 
Thanks for your post, attached is a demo to show a polygon’s area information sample while editing, please check it out, Also I guess you can use similar code to display other required information.Following is the screenshot what we got:
 

 
Thanks,
Johnny

Post_11175Sample.txt (2.62 KB)

Hi Johnny, 
  
 That simple! 
 This looks extremely good - I will try it out. 
  
 Thank you very much. 
  
 Kris

Hi Johnny, 
  
 Sorry to be a pain but this doesn’t meet my requirements. 
  
 The problem I have is that I want to display the metadata while the shape is being drawn. 
  
 The solution you provided only shows the metadata when the shape is finished. 
  
 I tried to change the Feature.ColumnValues in TrackInteractiveOverlay.MouseMoved and TrackInteractiveOverlay.VertexAdded but the Feature.ColumnValues gets overwritten. 
  
 I think that I will need to override TrackInteractiveOverlay.DrawCore but I don’t know how, because the parameters are different to the examples on the wiki. 
  
 Could you give me an example of how I can override TrackInteractiveOverlay.DrawCore. 
  
 Kris

Hi Kris, 
  
 This codesample might be helpful for you: wiki.thinkgeo.com/wiki/Map_Suite_Wpf_Desktop_Edition_All_Samples#Dynamic_Info_On_TrackShapes 
  
 Carlos

Hi Carlos, 
  
 Thank you for your suggestion. 
  
 I found this sample before, but I wanted to try to display the metadata using a TextStyle. 
  
 I will trial this way, perhaps using a ToolTip, and see whether it is the right way to go. 
  
 I would still be curious to see and example of how to override TrackInteractiveOverlay.DrawCore. 
  
 Kris

Hi again, 



The attached code is a ruler tool I did months ago. It draws the line length while tracking. It has some witchcraft-code to address issues when lines span beyond meridian 180 that could be solved more elegantly by using a protection, but this goes beyond my mapping knowledge/timeframe. 



Anyway I'm sure it will be what you are looking for, as I override Drawcore and use custom text style 



Carlos



CustomDistanceLineStyle.vb (6.01 KB)

Hi Carlos,
 
Thanks for your help on this, and Kris, here attached is the sample code from us, would you please try it out?
 
Hope it helps,
Edgar

Post11175Sample.txt (4.75 KB)