ThinkGeo.com    |     Documentation    |     Premium Support

Problem with EditOverlay

Hi,


I am getting exceptions while working with the EditOverlay.  I have attached source code with this email. Click the button to see the exception.


 


Thanks


Raquib



001_Source_code.zip (297 KB)

Hi Raquibur,



This issue is not the issue from MapSuite, you know we are using NTS for the geometry spatial arithmetic; your geometry is too regular and NTS calculate the center of your geometry's x=infinity and y=NaN. That's why the exception happens.



You can try to get center point of your PolygonShape and you'll see what happens. This is an issue what we cannot handle recently. But I have a workaround for you, use the new EditOverlay below; and replace the edit overlay with this new one.



    public class NewEditInteractiveOverlay : EditInteractiveOverlay
    {
        public NewEditInteractiveOverlay()
            : base()
        { }

        protected override IEnumerable<Feature> CalculateDragControlPointsCore(Feature feature)
        {
            PointShape centerPointShape = feature.GetShape().GetCenterPoint();
            if (double.IsInfinity(centerPointShape.X) || double.IsInfinity(centerPointShape.Y) || double.IsNaN(centerPointShape.X) || double.IsNaN(centerPointShape.Y))
            {
                centerPointShape = feature.GetShape().GetBoundingBox().GetCenterPoint();
            }

            Feature dragPointFeature = new Feature(new Vertex(centerPointShape));

            Feature[] returnValues = new Feature[] { dragPointFeature };
            return returnValues;
        }
    }



Please let me know if you have more queries.



Thanks,

Howard



Hi Howard, 
  
 This fix has solved my problem. Can you tell when we will get a stable version of this api. And also, will there  be any build with this fix 
  
 Thanks 
 Raquib

Hi Raquibur, 
  
 It’s actually an issue from the NTS. We can have a work around for this issue just as the previous Desktop Edition does which means if there is an issue from NTS, we will use upper-left point of its bounding box.  
  
 Basically, Wpf Desktop Edition’s feature is designed based on the previous Desktop Edition, but some slim features or workaround is not integrated in. Also Wpf Desktop is in beta and we are working on testing the bugs and adding new features currently. MapSuite is going to have a big release in the beginning of November, I’m sure you will get final release of Wpf Desktop Edition then. Also, this fix will integrate in our today’s build, please download and have a try tomorrow. 
  
 Thanks, 
 Howard