예제 #1
0
        private void AddAustralianSitesLayer()
        {
            this.AddAustralianSitesButton.IsEnabled = false;

            var mapLayer = new GeoHighDensityScatterMapLayer();

            mapLayer.DataSourceKey       = DataViewModel.AustralianSitesKey;
            mapLayer.DataSourceTrademark = CommonStrings.SourceData_GeoCommons;
            mapLayer.Title           = AppStrings.MapLayer_AustralianSites;
            mapLayer.LabelMemberPath = "Name";
            var fillScale = new ValueBrushScaleView();

            fillScale.Brushes.Add(NamedColors.DodgerBlue.BrushOpacity(0.75));
            fillScale.Brushes.Add(NamedColors.Red.BrushOpacity(0.75));
            fillScale.MinimumValue = 0;
            fillScale.MaximumValue = 50;
            fillScale.MinimumRange = 0;
            fillScale.MaximumRange = 200;
            mapLayer.HeatScale     = fillScale;
            mapLayer.ActualSeriesView.MouseOverEnabled    = true;
            mapLayer.ActualSeriesView.LatitudeMemberPath  = "Latitude";
            mapLayer.ActualSeriesView.LongitudeMemberPath = "Longitude";
            mapLayer.Opacity = 0.7;
            this.ViewModel.MapLayers.Insert(0, mapLayer);
        }
예제 #2
0
        protected void AddGeoMapLayer(GeoHighDensityScatterMapLayer mapLayer)
        {
            mapLayer.PropertyChanged += OnMapLayerChanged;
            var dataSourceKey = mapLayer.DataSourceKey;
            var dataSource    = this.DataViewModel.DataSources[dataSourceKey];

            if (dataSource != null)
            {
                //mapLayer.SeriesView.Title = mapLayer.Title;
                //TODO use ColorValueScale
                if (mapLayer.HeatScale.Brushes.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 = dataSource.View; //WorldCountries.View;
                if (mapLayer.LabelMemberPath != string.Empty)
                {
                    mapLayer.ActualSeriesView.ToolTip = mapLayer.ToolTip;
                }

                var windowRect = this.Map.GetZoomFromGeographic(dataSource.DataWorldRect.ToRect());
                this.Map.WindowRect = windowRect;

                this.Map.Series.Add(mapLayer.SeriesView);
            }
        }
        private void ShowMapEditor(GeoHighDensityScatterMapLayer mapLayer)
        {
            var mapLayerBinding = new Binding {
                Source = mapLayer, Mode = BindingMode.OneWay
            };
            var mapEditor = new GeoHighDensityLayerEditor();

            mapEditor.SetBinding(GeoMapLayerEditor.MapLayerProperty, mapLayerBinding);

            this.MapLayerControls.Child      = mapEditor;
            this.MapLayerControls.Visibility = Visibility.Visible;
        }