Ejemplo n.º 1
0
        private void AddWorldCitiesLayer()
        {
            this.AddWorldCitiesButton.IsEnabled = false;

            var mapLayer = new GeoSymbolProportionalMapLayer();

            mapLayer.DataSourceKey       = DataViewModel.WorldCitiesKey;
            mapLayer.DataSourceTrademark = CommonStrings.SourceData_GeoCommons;
            mapLayer.Title           = AppStrings.MapLayer_WorldCities;
            mapLayer.LabelMemberPath = "Label";

            mapLayer.RadiusMemberPath = "Population";
            mapLayer.FillMemberPath   = "Population";
            mapLayer.Opacity          = 0.75;
            var fillScale = new ValueBrushScaleView();

            fillScale.Brushes.Add(NamedColors.LightGreen.BrushOpacity(0.5));
            fillScale.Brushes.Add(NamedColors.Green.BrushOpacity(0.5));
            fillScale.MinimumValue            = this.ViewModel.DataViewModel.WorldCities.DataSource.Population.Min;
            fillScale.MaximumValue            = this.ViewModel.DataViewModel.WorldCities.DataSource.Population.Max;
            fillScale.MinimumRange            = this.ViewModel.DataViewModel.WorldCities.DataSource.Population.Min;
            fillScale.MaximumRange            = this.ViewModel.DataViewModel.WorldCities.DataSource.Population.Max;
            fillScale.ValueStringFormat       = "#,##0,,.0 M";
            mapLayer.FillValueScale           = fillScale;
            mapLayer.RadiusScale.MaximumValue = 75;
            mapLayer.RadiusScale.MinimumValue = 10;
            this.ViewModel.MapLayers.Insert(0, mapLayer);
        }
Ejemplo n.º 2
0
        private void AddWorldEarthquakesLayer()
        {
            this.AddWorldEarthquakesButton.IsEnabled = false;

            var mapLayer = new GeoSymbolProportionalMapLayer();

            mapLayer.DataSourceKey       = DataViewModel.WorldEarthQuakesKey;
            mapLayer.DataSourceTrademark = CommonStrings.SourceData_USGS;
            mapLayer.Title            = AppStrings.MapLayer_WorldEarthquakes;
            mapLayer.LabelMemberPath  = "Label";
            mapLayer.FillMemberPath   = "Magnitude";
            mapLayer.RadiusMemberPath = "Magnitude";
            mapLayer.Opacity          = 0.7;

            var fillScale = new ValueBrushScaleView();

            fillScale.Brushes.Add(NamedColors.Yellow.BrushOpacity(0.5));
            fillScale.Brushes.Add(NamedColors.Red.BrushOpacity(0.5));
            fillScale.MinimumValue  = this.ViewModel.DataViewModel.WorldEarthQuakes.FilterView.MagnitudeMin;
            fillScale.MaximumValue  = this.ViewModel.DataViewModel.WorldEarthQuakes.FilterView.MagnitudeMax;
            fillScale.MinimumRange  = 0;
            fillScale.MaximumRange  = 10;
            mapLayer.FillValueScale = fillScale;

            mapLayer.RadiusScale.MaximumValue = 50;
            mapLayer.RadiusScale.MinimumValue = 10;

            this.ViewModel.MapLayers.Insert(0, mapLayer);
        }
Ejemplo n.º 3
0
        private void ShowMapEditor(GeoSymbolProportionalMapLayer mapLayer)
        {
            var mapLayerBinding = new Binding()
            {
                Source = mapLayer,
                Mode   = BindingMode.OneWay
            };
            var mapEditor = new GeoSymbolLayerEditor();

            mapEditor.SetBinding(GeoMapLayerEditor.MapLayerProperty, mapLayerBinding);

            this.MapLayerControls.Child      = mapEditor;
            this.MapLayerControls.Visibility = Visibility.Visible;
        }
Ejemplo n.º 4
0
        protected void AddGeoMapLayer(GeoSymbolProportionalMapLayer mapLayer)
        {
            mapLayer.PropertyChanged += OnMapLayerChanged;

            var dataSourceKey = mapLayer.DataSourceKey;

            //var dataSource = this.DataViewModel.DataSources[dataSourceKey];
            GeoDataViewSource dataSource = null;

            if (dataSourceKey == DataViewModel.WorldCitiesKey)
            {
                dataSource = this.DataViewModel.WorldCities;
            }
            else if (dataSourceKey == DataViewModel.WorldCountriesKey)
            {
                dataSource = this.DataViewModel.WorldCountries;
            }
            else if (dataSourceKey == DataViewModel.WorldWeatherKey)
            {
                dataSource = this.DataViewModel.WorldWeather;
            }
            else if (dataSourceKey == DataViewModel.WorldEarthQuakesKey)
            {
                dataSource = this.DataViewModel.WorldEarthQuakes;
            }
            //else if (dataSourceKey == DataViewModel.UnitedStatesAirlineTrafficKey)
            //    dataSource = this.DataViewModel.UnitedStatesAirlineTraffic;

            if (dataSource != null)
            {
                mapLayer.DataViewSource = dataSource;

                mapLayer.SeriesView.Visibility  = mapLayer.Visibility;
                mapLayer.SeriesView.Title       = mapLayer.Title;
                mapLayer.SeriesView.Opacity     = mapLayer.Opacity;
                mapLayer.SeriesView.ItemsSource = mapLayer.DataViewSource.View; //WorldCountries.View;
                //mapLayer.SeriesView.ItemsSource = dataSource.View; //WorldCountries.View;

                //mapLayer.ActualSeriesView.MaximumMarkers = dataSource.DataItemsCount;
                mapLayer.ActualSeriesView.MaximumMarkers = mapLayer.DataViewSource.DataItemsCount;
                //mapLayer.ActualSeriesView.MarkerCollisionAvoidance = mapLayer.MarkersLayout;
                //mapLayer.ActualSeriesView.MarkerType = mapLayer.MarkerType;

                //mapLayer.ActualSeriesView.LongitudeMemberPath = mapLayer.LongitudeMemberPath;
                //mapLayer.ActualSeriesView.LatitudeMemberPath = mapLayer.LatitudeMemberPath;
                mapLayer.ActualSeriesView.RadiusMemberPath = mapLayer.RadiusMemberPath;
                mapLayer.ActualSeriesView.FillMemberPath   = mapLayer.FillMemberPath;
                //mapLayer.ActualSeriesView.FillScale.Brushes = mapLayer.FillValueScale.Brushes;
                //mapLayer.ActualSeriesView.FillScale. = mapLayer.FillValueScale;
                mapLayer.ActualSeriesView.FillScale = mapLayer.FillValueScale;


                //MapLayer.SeriesView.RadiusScale = MapLayer.RadiusScale;
                //MapLayer.SeriesView.FillScale = MapLayer.FillScale;

                if (mapLayer.LabelMemberPath != string.Empty)
                {
                    mapLayer.SeriesView.ToolTip = mapLayer.ToolTip;
                }

                //var windowRect = this.Map.GetZoomFromGeographic(mapLayer.DataViewSource.DataWorldRect.ToRect());
                //this.Map.WindowRect = windowRect;
                this.Map.Series.Add(mapLayer.SeriesView);
            }
        }