private void Refresh() { ShapefileLayer areaLayer = Map1.FindLayer <ShapefileLayer>("countries-900913"); if (areaLayer == null) { return; } areaLayer.Styles.Clear(); ClassBreakStyle classBreakStyle = ClassBreakStyle.Create(columnName, 281396894, 5000000, 11, DimensionType.Area, colorFamily, new GeoColor(50, 100, 200, 150), 0.01f); classBreakStyle.ClassBreaks[0].Value = 0; areaLayer.Styles.Add(classBreakStyle); LegendTitleTextBlock.Text = "The population of countries"; ClassBreak[] classBreaks = classBreakStyle.ClassBreaks.OrderBy(i => i.Value).ToArray(); for (int i = 0; i < classBreaks.Length; i++) { ClassBreak fromClassBreak = classBreaks[i]; ClassBreak toClassBreak = i + 1 < classBreaks.Length ? classBreaks[i + 1] : null; foreach (var style in fromClassBreak.Styles) { if (toClassBreak != null) { style.Name = $"{(fromClassBreak.Value / 1000000).ToString("N0")} ~ {(toClassBreak.Value / 1000000).ToString("N0")} million"; } else { style.Name = $">= {(fromClassBreak.Value / 1000000).ToString("N0")} million"; } } } LegendView.Update(classBreaks.SelectMany(i => i.Styles)); Map1.Refresh(RefreshType.Redraw); }
private void Map1_Loaded(object sender, RoutedEventArgs e) { Map1.MapUnit = GeoUnit.Meter; Map1.UseOpenStreetMapAsBaseMap(); GridLayer gridLayer = new GridLayer("SampleData/gridfile-900913.grd"); GridFileSource gridSource = (GridFileSource)gridLayer.Source; var cellValues = gridSource.GetDistinctCellValues(); cellValues.Sort(); ClassBreakStyle style = ClassBreakStyle.Create("CellValue", cellValues.Last(), cellValues.First(), 8, DimensionType.Area, GeoColorFamily.Hue, GeoColors.Red, 1f); style.Margin = 25; gridLayer.Styles.Add(style); LayerOverlay layerOverlay = new LayerOverlay(); layerOverlay.Layers.Add(gridLayer); Map1.Overlays.Add(layerOverlay); Map1.ZoomTo(gridLayer.GetBound()); }