/// <summary> /// Loads the basemap and other properties. /// </summary> internal async Task LoadAsync() { if (_hasLoaded) { return; } IsLoading = true; try { if (Basemap != null && Basemap.LoadStatus != LoadStatus.Loaded) { await Basemap.LoadAsync(); } PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Name))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Tooltip))); await LoadImage(); // Load the SR. if (Basemap != null) { var clone = Basemap.Clone(); var map = new Map(clone); await map.LoadAsync(); if (map.LoadStatus == LoadStatus.Loaded) { SpatialReference = map.SpatialReference; } } } catch (Exception) { // Ignore } finally { IsLoading = false; _hasLoaded = true; } }