Browse Source

Fix geo json parsing.

pull/629/head
Sebastian 5 years ago
parent
commit
501e37da3f
  1. 12
      backend/src/Squidex.Domain.Apps.Core.Model/Contents/GeoJsonValue.cs

12
backend/src/Squidex.Domain.Apps.Core.Model/Contents/GeoJsonValue.cs

@ -47,23 +47,17 @@ namespace Squidex.Domain.Apps.Core.Contents
} }
catch catch
{ {
if (geoObject.TryGetValue<JsonNumber>("latitude", out var lat)) if (!geoObject.TryGetValue<JsonNumber>("latitude", out var lat) || !lat.Value.IsBetween(-90, 90))
{
if (!lat.Value.IsBetween(-90, 90))
{ {
return GeoJsonParseResult.InvalidLatitude; return GeoJsonParseResult.InvalidLatitude;
} }
}
if (geoObject.TryGetValue<JsonNumber>("longitude", out var lon)) if (!geoObject.TryGetValue<JsonNumber>("longitude", out var lon) || !lon.Value.IsBetween(-180, 180))
{
if (!lon.Value.IsBetween(-180, 180))
{ {
return GeoJsonParseResult.InvalidLongitude; return GeoJsonParseResult.InvalidLongitude;
} }
}
geoJSON = new Point(new Position(lat!.Value, lon!.Value)); geoJSON = new Point(new Position(lat.Value, lon.Value));
return GeoJsonParseResult.Success; return GeoJsonParseResult.Success;
} }

Loading…
Cancel
Save