ThinkGeo.com    |     Documentation    |     Premium Support

Crash: Map crashes when attempting to zoom to full extent (180/90)

Couple of quesstion:


1. If I attempt to set WpfMap.CurrentExtent a new RectangleShape(-180,-90,180,90) it throws an exception with the following message;


"The index double value is out of range"  


name: maxY.


My WpfMap control has a WorldMapKitWmsWpfOverlay as base.


Any ideas?

 


Klaus


 


                  






Hi Klaus, 
  
 One overload of RectangleShape constructor is RectangleShape(minX, maxY, maxX, minY) which I think you are using, so the RectangleShape should be created like this new RectangleShape(-180, 90, 180, -90); Please have a try. 
  
 Thanks, 
 Howard

I read that part of your doc over and over.  Surprised I missed that.  Thanks again.

You are welcome. And so that this mistake does not happen again, picture this in your head and you will always have the correct bounding box set for your map:




Ah, I see why do defined your constructor that way.  I am coming from another land, where they have it defined differently.  Thanks.



Klaus, 
  
 Normally, to define a rectangle, we usually define its upper left point and lower right point; for example System.Windows.Rect does this way. You might notice that we have another overload of RectangleShape that is RectangleShape(PointShape upperLeftPoint, PointShape lowerRightPoint); so we defined the order following it that is RectangleShape(double minX, double maxY, double maxX, double minY). In another word, if we use the order you are using, we need to change the other constructor to RectangleShape(PointShape lowerLeftPoint, PointShape upperRightPoint). Hope it makes sense. 
  
 Thanks, 
 Howard