Esempio n. 1
0
        private void AddUnitedStatesAirlineTrafficLayer()
        {
            this.AddUnitedStatesAirlineTrafficButton.IsEnabled = false;

            var mapLayer = new GeoMotionMapLayer();

            mapLayer.Opacity             = 0.7;
            mapLayer.Title               = AppStrings.MapLayer_US_AirlineTraffic;
            mapLayer.DataSourceKey       = DataViewModel.UnitedStatesAirlineTrafficKey;
            mapLayer.DataSourceTrademark = CommonStrings.SourceData_USAT;

            mapLayer.AirportsView.LabelMemberPath = "Name";
            mapLayer.AirportsView.ActualSeriesView.LongitudeMemberPath = "Longitude";
            mapLayer.AirportsView.ActualSeriesView.LatitudeMemberPath  = "Latitude";
            mapLayer.AirportsView.ActualSeriesView.MarkerBrush         = NamedColors.Red.BrushOpacity(0.5);

            var airportToolTip = Application.Current.Resources["AirportToolTipContent"] as ContentControl;

            var airportMarker = Application.Current.Resources["AirportMarker2"] as DataTemplate;

            if (airportMarker != null)
            {
                mapLayer.AirportsView.ActualSeriesView.MarkerTemplate = airportMarker;
            }

            mapLayer.AirplanesView.LabelMemberPath = "Flight.FlightCode";
            mapLayer.AirplanesView.ActualSeriesView.LongitudeMemberPath = "Longitude";
            mapLayer.AirplanesView.ActualSeriesView.LatitudeMemberPath  = "Latitude";
            mapLayer.AirplanesView.ActualSeriesView.MarkerBrush         = NamedColors.Red.BrushOpacity(0.75);

            var airplaneMarker = Application.Current.Resources["AirplaneMarker"] as DataTemplate;

            if (airplaneMarker != null)
            {
                mapLayer.AirplanesView.ActualSeriesView.MarkerTemplate = airplaneMarker;
            }

            var airplaneToolTip = Application.Current.Resources["AirplanesToolTipContent"] as ContentControl;

            if (airplaneToolTip != null)
            {
                //mapLayer.AirplanesView.ActualSeriesView.ToolTip = airplaneToolTip;
                //mapLayer.AirplanesView.ActualSeriesView.ToolTip
            }

            this.ViewModel.MapLayers.Insert(0, mapLayer);
        }
Esempio n. 2
0
        protected void AddGeoMapLayer(GeoMotionMapLayer mapLayer)
        {
            mapLayer.PropertyChanged += OnMapLayerChanged;
            var dataSourceKey = mapLayer.DataSourceKey;

            if (dataSourceKey == DataViewModel.UnitedStatesAirlineTrafficKey)
            {
                var dataSource = this.DataViewModel.DataSources[dataSourceKey] as AirlineTrafficDataViewSource;
                if (dataSource == null)
                {
                    return;
                }

                //var dataSource = this.DataViewModel.UnitedStatesAirlineTraffic;
                mapLayer.DataViewSource = dataSource;

                //TODO add airports - prop series
                //TODO add flights - symbol series

                //mapLayer.AirportsView.ActualSeriesView.FillScale = mapLayer.AirportsView.FillValueScale;

                //mapLayer.AirportsView.ActualSeriesView.ToolTip = mapLayer.AirportsView.ToolTip;
                mapLayer.AirportsView.ActualSeriesView.ItemsSource = dataSource.ActualAirports;

                //mapLayer.AirplanesView.ActualSeriesView.ToolTip = mapLayer.AirplanesView.ToolTip;
                mapLayer.AirplanesView.ActualSeriesView.ItemsSource        = dataSource.ActualFlights;
                mapLayer.AirplanesView.ActualSeriesView.MaximumMarkers     = dataSource.ActualFlights.Count;
                mapLayer.AirplanesView.ActualSeriesView.TransitionDuration = TimeSpan.FromSeconds(0.25);

                if (mapLayer.AirplanesView.LabelMemberPath != string.Empty)
                {
                    mapLayer.AirplanesView.ActualSeriesView.ToolTip = mapLayer.AirplanesView.ToolTip;
                }
                if (mapLayer.AirportsView.LabelMemberPath != string.Empty)
                {
                    mapLayer.AirportsView.ActualSeriesView.ToolTip = mapLayer.AirportsView.ToolTip;
                }

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

                this.Map.Series.Add(mapLayer.AirportsView.ActualSeriesView);
                this.Map.Series.Add(mapLayer.AirplanesView.ActualSeriesView);
            }
        }