ThinkGeo.com    |     Documentation    |     Premium Support

TrackInteractiveOverlay - Ending Polygon TrackMode

Hi,



I am using the "Dynamic Info On Track Shapes" code sample as a guide.  My TrackMode is set to Polygon.  I am having issues with the situation where only one vertex of the polygon has been selected.  In this case, when only one vertex of the polygon exists, double clicking the mouse does not fire the TrackEnded event.  Is there a work around?  In my application, I would like to allow the user to clear out the polygon if he has selected the wrong starting point without having to add more vertices.



Thanks,

Eileen


Hi Eileen,



Here is a workaround that we can define a customTrackInteractiveOverlay and then override the doubleclick handler method:


    public class MyTrackInteractiveOverlay : TrackInteractiveOverlay
    {
        protected override InteractiveResult MouseDoubleClickCore(InteractionArguments interactionArguments)
        {
            if (this.TrackMode == ThinkGeo.MapSuite.DesktopEdition.TrackMode.Polygon)
            {
                EndTracking();
            }
            return base.MouseDoubleClickCore(interactionArguments);
        }
    }
 

//Sets the MapUnit and Extent of the Map.
            winformsMap1.MapUnit = GeographyUnit.DecimalDegree;
            winformsMap1.CurrentExtent = new RectangleShape(-100.4, 50, -60, -10);
 
            winformsMap1.TrackOverlay = new MyTrackInteractiveOverlay();
            //Adds the ECW

Then, the endtracking event should be fired even there is only one vertex existing.

Hope it works for you.



Regards,

Johnny

Beautiful!  Thanks Johnny.  It works great.



Regards,

Eileen


Hi Eileen, 
  
 Good to hear it works. 
 Any other queries, don’t hesitate to let us know. 
  
 Johnny