ThinkGeo.com    |     Documentation    |     Premium Support

Need help understanding the edit post-back

Hi,


I'm trying to add shape editing to the existing shape digitizing in my web app. But the precise way in which it works still eludes me.


I've previously defined a Map1_TrackShapeFinished routine to catch the digitizing event, reading one feature from EditOverlay.Features. I've now expanded this to read every feature from EditOverlay.


I've then added editing, using the sample provided to Joerg Feb 22nd, i.e. transfer the relevant features to EditOverlay, and performing a redraw. This seems to work, as I get bluish features that I can select for editing, and edit.


 


However, it looks like Map1_TrackShapeFinished still fires whenever I finish editing the first shape. Is this true ?


Is it also true, when posting the edit(s) back, EditOverlay now only contain the (single) edited feature, or none at all, not all the features initially put into it ?


Thanks.


 



Hi again, 
  
 Ok, the EditOverlay does contain all my features, but I cannot see how I can distinguish between the cases in which Map1_TrackShapeFinished is called: 
     1) when I digitize a new feature 
     2) when I’ve edited (one of the) existing features 
  
 I’ve tried to “tag” them, but the tags are lost underway. 
  
 Any ideas ? 


Hi Lars, 
  
 Have you tried to check the TrackMode property of the EditOverlay, “Edit” means it is in edit mode, others mean draw mode.  
  
 Any more questions please let us know. 
  
 Thanks, 
  
 Sun 


Ah, my failure in understanding lay another place entirely. 



When transferring features from layer to layer, in this case from an InMemoryLayer to EditOverlay, the attributtes got lost in the translation. When I added a column "id" to EditLayer, it transferred the attributte "id" from the InMemoryLayer. 



I've gotten it to work now, more-or-less. 



Another question: when the edited shapes are posted back, is there any way to determine whether an actual feature in EditOverlay has been modified or not ?



Lars, 
  
 The OnClientEditEnd event is an event we expose from OpenLayers directly. So we cannot satisfy your requirement currently. I think this feature is a good one for users and we’ll consider to add it to our enhancement list. We’ll work on this when we complete our high priority issues. 
  
 Thanks, 
 Howard