ThinkGeo.com    |     Documentation    |     Premium Support

FeatureDragged and TrackEnded Event

Hello,


The EditOverlay.FeatureDragged event fires while you were draging a shape, does it suppose to fire after you finished draging?


so as EditOverlay.FeatureResized and EditOverlay.FeatureRotated.  kindly also check VertexMoved and other Vertex....


------------------------------


For some reason i need to do this in a click:


Map1.EditOverlay.CanDrag = true;

Map1.EditOverlay.CanReshape = true;

Map1.EditOverlay.CanResize = true;

Map1.EditOverlay.CanRotate = true;

Map1.TrackOverlay.TrackEnded += new EventHandler
<trackendedtrackinteractiveoverlayeventargs>
(TrackOverlay_TrackEnded);
</trackendedtrackinteractiveoverlayeventargs>


and then i need to execute this on a click too:


Map1.TrackOverlay.TrackMode = TrackMode.Polygon;


The first attempt works perfectly fine but by the time you click again on the map, the TrackOverlay.TrackEnded Event fires immediately. BTW, i am using the new version 3.0.382 Beta 3.


Regards,


Rhandy



Rhandy, 
  
 It seems there is some event conflicts in your application. But I cannot see what is the real issue exactly. Let’s say it again so that we are in the same line. 
  
 1. Click on the map to raise an event which excecutes the first attached code. It adds track end event and enable some edit type. 
 2. Click on the map again and change the draw mode to Polygon to enable the draw polygon mode. 
  
 I’m not so sure the purpose of your operation. Could you tell me more information of this issue? 
  
 Thanks a lot. 
 Howard

Hi Howard,


I am sorry i wasn't clear, below is the test code, the message should display every after you completed a draw:



private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            Map1.MapUnit = GeographyUnit.DecimalDegree;
            Map1.Background = new SolidColorBrush(Color.FromArgb(255, 156, 187, 216));

            ServerLayerOverlay serverOverlay = new ServerLayerOverlay("NativeServer", "SilverlightMapConnector1");
            Map1.Overlays.Add(serverOverlay);
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Map1.EditOverlay.CanDrag = true;
            Map1.EditOverlay.CanReshape = true;
            Map1.EditOverlay.CanResize = true;
            Map1.EditOverlay.CanRotate = true;
            Map1.TrackOverlay.TrackEnded += new EventHandler<TrackEndedTrackInteractiveOverlayEventArgs>(TrackOverlay_TrackEnded);
            button1.IsEnabled = false;
            button2.IsEnabled = true;
        }

        void TrackOverlay_TrackEnded(object sender, TrackEndedTrackInteractiveOverlayEventArgs e)
        {
            MessageBox.Show("You should see this message every after you completed a track.");
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            Map1.TrackOverlay.TrackMode = TrackMode.Polygon;
        }
 

After i completed a poly draw the message show, which is perfectly fine but when i click again on the map to draw the second poly, the message fire immediately. this case happen also on the following event:


EditOverlay.FeatureDragged, EditOverlay.FeatureResized, EditOverlay.FeatureRotated and, VertexMoved. i haven't tested the other vertex event.


regards,


rhandy


 



Rhandy, 
  
 I tested and recreated your issue. I made some enhancement today. If you don’t mind evaluating my temporary version, please contact support@thinkgeo.com for it. 
  
 Any questions please let me know. 
  
 Thanks, 
 Howard