From f54626ea21d3c4cf25d12cc16f4ab1dda58e7356 Mon Sep 17 00:00:00 2001 From: ClemensF Date: Sun, 25 Oct 2020 17:49:18 +0100 Subject: [PATCH] Update MapTileLayerBase.cs --- MapControl/Shared/MapTileLayerBase.cs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/MapControl/Shared/MapTileLayerBase.cs b/MapControl/Shared/MapTileLayerBase.cs index df3a378c..d564d889 100644 --- a/MapControl/Shared/MapTileLayerBase.cs +++ b/MapControl/Shared/MapTileLayerBase.cs @@ -59,12 +59,7 @@ namespace MapControl TileImageLoader = tileImageLoader; updateTimer = new DispatcherTimer { Interval = UpdateInterval }; - - updateTimer.Tick += (s, e) => - { - updateTimer.Stop(); - UpdateTileLayer(); - }; + updateTimer.Tick += (s, e) => Update(); MapPanel.InitMapElement(this); } @@ -149,8 +144,6 @@ namespace MapControl get { return parentMap; } set { - updateTimer.Stop(); - if (parentMap != null) { parentMap.ViewportChanged -= OnViewportChanged; @@ -163,7 +156,7 @@ namespace MapControl parentMap.ViewportChanged += OnViewportChanged; } - UpdateTileLayer(); + Update(); } } @@ -171,8 +164,7 @@ namespace MapControl { if (Children.Count == 0 || e.ProjectionChanged || Math.Abs(e.LongitudeOffset) > 180d) { - updateTimer.Stop(); - UpdateTileLayer(); // update immediately when projection has changed or center has moved across 180° longitude + Update(); // update immediately when projection has changed or center has moved across 180° longitude } else { @@ -190,6 +182,12 @@ namespace MapControl } } + private void Update() + { + updateTimer.Stop(); + UpdateTileLayer(); + } + protected abstract void UpdateTileLayer(); protected abstract void SetRenderTransform();