Example #1
0
        /// <summary>
        /// Disposes the map object
        /// </summary>
        public void Dispose()
        {
            _disposing = true;
            AbortFetch();

            if (DisposeLayersOnDispose)
            {
                if (Layers != null)
                {
                    foreach (var disposable in Layers.OfType <IDisposable>())
                    {
                        disposable.Dispose();
                    }
                }
                if (BackgroundLayer != null)
                {
                    foreach (var disposable in BackgroundLayer.OfType <IDisposable>())
                    {
                        disposable.Dispose();
                    }
                }
            }
            Layers?.Clear();
            BackgroundLayer?.Clear();
        }
Example #2
0
 /// <summary>
 /// Aborts fetching opération.
 /// </summary>
 void AbortFetch()
 {
     if (Layers != null)
     {
         foreach (var asyncFetcher in Layers.OfType <IAsyncDataFetcher>())
         {
             asyncFetcher.AbortFetch();
         }
     }
     if (BackgroundLayer != null)
     {
         foreach (var asyncFetcher in BackgroundLayer.OfType <IAsyncDataFetcher>())
         {
             asyncFetcher.AbortFetch();
         }
     }
 }