protected void AddGeoMapLayer(GeoScatterAreaMapLayer mapLayer) { mapLayer.PropertyChanged += OnMapLayerChanged; var dataSourceKey = mapLayer.DataSourceKey; var triangulationSource = this.DataViewModel.DataSources[dataSourceKey] as TriangulationDataViewSource; if (triangulationSource != null) { //var triangulationSource = triangulationSource.DataSource; //mapLayer.SeriesView.Title = mapLayer.Title; //TODO use ColorValueScale //if (mapLayer.ColorScale.Palette.Count >= 2) //{ // var min = mapLayer.HeatScale.Brushes.First() as SolidColorBrush; // var max = mapLayer.HeatScale.Brushes.Last() as SolidColorBrush; // if (min != null && max != null) // { // mapLayer.ActualSeriesView.HeatMinimumColor = min.Color; // mapLayer.ActualSeriesView.HeatMaximumColor = max.Color; // } //} //mapLayer.ActualSeriesView.HeatMinimum = mapLayer.HeatScale.MinimumValue; //mapLayer.ActualSeriesView.HeatMaximum = mapLayer.HeatScale.MaximumValue; mapLayer.ActualSeriesView.ItemsSource = triangulationSource.DataSource.Points; mapLayer.ActualSeriesView.TrianglesSource = triangulationSource.DataSource.Triangles; mapLayer.ActualSeriesView.ToolTip = mapLayer.ToolTip; var windowRect = this.Map.GetZoomFromGeographic(triangulationSource.DataWorldRect.ToRect()); this.Map.WindowRect = windowRect; this.Map.Series.Add(mapLayer.ActualSeriesView); } }
private void AddUnitedStatesPrecipitationLayer() { this.AddUnitedStatesPrecipitationButton.IsEnabled = false; var mapLayer = new GeoScatterAreaMapLayer(); mapLayer.DataSourceKey = DataViewModel.UnitedStatesPrecipitationKey; mapLayer.DataSourceTrademark = CommonStrings.SourceData_NOAA; mapLayer.Title = AppStrings.MapLayer_US_Precipitation; mapLayer.LabelMemberPath = "Value"; mapLayer.ColorScale.MinimumValue = 0.15; // 0.05 mapLayer.ColorScale.MaximumValue = 1.3; // 1.8; mapLayer.ColorScale.ValueStringFormat = "0.00"; mapLayer.ColorScale.MinimumRange = 0; //0.15; // 0; mapLayer.ColorScale.MaximumRange = 2.5; mapLayer.ColorScale.Palette = new ObservableCollection <Color> { NamedColors.DodgerBlue.Color, NamedColors.LimeGreen.Color, NamedColors.Orange.Color, NamedColors.Maroon.Color }; mapLayer.Opacity = 0.7; this.ViewModel.MapLayers.Insert(0, mapLayer); }