Add BoundingBox.HasValidBounds

This commit is contained in:
ClemensFischer 2022-12-08 15:05:19 +01:00
parent 45cda387e4
commit 849a4e206c
3 changed files with 7 additions and 5 deletions

View file

@ -58,9 +58,9 @@ namespace MapControl
public virtual double Height => North - South;
public virtual Location Center =>
double.IsNaN(South) || double.IsNaN(North) || double.IsNaN(West) || double.IsNaN(East)
? null
: new Location((South + North) / 2d, (West + East) / 2d);
HasValidBounds ? new Location((South + North) / 2d, (West + East) / 2d) : null;
public virtual bool HasValidBounds => South < North && West < East;
public static BoundingBox Parse(string boundingBox)
{

View file

@ -19,6 +19,7 @@ namespace MapControl
height = Math.Max(h, 0d);
}
public override bool HasValidBounds => false;
public override Location Center => center;
public override double Width => width;
public override double Height => height;

View file

@ -74,8 +74,7 @@ namespace MapControl
{
MapRect mapRect = null;
if (!double.IsNaN(boundingBox.South) && !double.IsNaN(boundingBox.West) &&
!double.IsNaN(boundingBox.North) && !double.IsNaN(boundingBox.East))
if (boundingBox.HasValidBounds)
{
var p1 = LocationToMap(new Location(boundingBox.South, boundingBox.West));
var p2 = LocationToMap(new Location(boundingBox.North, boundingBox.East));
@ -87,6 +86,8 @@ namespace MapControl
}
else if (boundingBox.Center != null)
{
// boundingBox is a CenteredBoundingBox
//
var center = LocationToMap(boundingBox.Center);
if (center.HasValue)