diff --git a/EGIS.Controls/BaseMapLayer.cs b/EGIS.Controls/BaseMapLayer.cs index c95564b..d938834 100644 --- a/EGIS.Controls/BaseMapLayer.cs +++ b/EGIS.Controls/BaseMapLayer.cs @@ -32,6 +32,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using EGIS.Projections; namespace EGIS.Controls @@ -105,6 +106,7 @@ private void Map_ZoomLevelChanged(object sender, EventArgs e) } private TileSource _tileSource; + private ICRS _initialMapReferenceSystem; private bool disposedValue; /// @@ -124,9 +126,14 @@ public TileSource TileSource _tileSource = value; if (previousTileSource == null) { + _initialMapReferenceSystem = mapReference.MapCoordinateReferenceSystem; //if TileSource changed from null set the maps CRS to Wgs84PseudoMercator mapReference.MapCoordinateReferenceSystem = EGIS.Projections.CoordinateReferenceSystemFactory.Default.GetCRSById(EGIS.Projections.CoordinateReferenceSystemFactory.Wgs84PseudoMercatorEpsgCode); } + else if (_tileSource == null) + { + mapReference.MapCoordinateReferenceSystem = _initialMapReferenceSystem; + } mapReference.Invalidate(RefreshMode.BaseMapLayer); } }