private void DrawTrackPoint() { foreach (var route in m_trackOverlay.Routes) { foreach (var p in route.Points) { var m = new GMap.NET.WindowsForms.Markers.GMapMarkerCross(new PointLatLng(p.Lat, p.Lng)); //m.ToolTipText = p.LocalGpsTime.ToLongTimeString(); m_trackOverlay.Markers.Add(m); } } }
private void Update_PlotTrack_Data() { if (this.checkEnableDisplay.Checked == true) { // First clear all the data from the previous cycle. if (DinamicOverlay.Markers.Count > 0) DinamicOverlay.Markers.Clear(); if (PredictionOverlay.Markers.Count > 0) PredictionOverlay.Markers.Clear(); // Now get the data since the last cycle and display it on the map DynamicDisplayBuilder DP = new DynamicDisplayBuilder(); System.Collections.Generic.List<DynamicDisplayBuilder.TargetType> TargetList = new System.Collections.Generic.List<DynamicDisplayBuilder.TargetType>(); // Here handle display od live data if (SharedData.bool_Listen_for_Data == true) { DynamicDisplayBuilder.GetDisplayData(false, out TargetList); if (FirstCycleDisplayEnabled) { FirstCycleDisplayEnabled = false; TargetList.Clear(); } this.lblNumberofTargets.Text = TargetList.Count.ToString(); bool Build_Local_Display = comboBoxLiveDisplayMode.Text != "Google Earth"; bool Provide_To_Google_Earth = comboBoxLiveDisplayMode.Text != "Local"; bool ProvideWebData = comboBoxLiveDisplayMode.Text == "Local & Web" || comboBoxLiveDisplayMode.Text == "Web"; Asterix_To_KML_Provider ASTX_TO_KML = new Asterix_To_KML_Provider(); WBTD WebBasedDisplayProvider = new WBTD(); PredictionBuilder Prediction_B = new PredictionBuilder(); try { foreach (DynamicDisplayBuilder.TargetType Target in TargetList) { if (Passes_Check_For_Flight_Level_Filter(Target.ModeC)) { // If SSR code filtering is to be applied if (this.checkBoxFilterBySSR.Checked == true && (this.textBoxSSRCode.Text.Length == 4)) { if (Target.ModeA == this.textBoxSSRCode.Text) { Target.MyMarker.ToolTipMode = MarkerTooltipMode.Never; Target.MyMarker.Position = new PointLatLng(Target.Lat, Target.Lon); BuildDynamicLabelText(Target, ref Target.MyMarker); SetLabelAttributes(ref Target.MyMarker); if (Build_Local_Display) { DinamicOverlay.Markers.Add(Target.MyMarker); if (SharedData.Prediction1_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.One, ref PredictionOverlay); if (SharedData.Prediction2_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Two, ref PredictionOverlay); if (SharedData.Prediction3_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Three, ref PredictionOverlay); } if (Provide_To_Google_Earth) ASTX_TO_KML.AddNewTarget(Target); if (ProvideWebData) WebBasedDisplayProvider.SetTargetData(Target.Lat.ToString(), Target.Lon.ToString(), Target.ACID_Mode_S, Target.ModeA, Target.ModeC); } } else // No SSR filter so just display all of them { Target.MyMarker.ToolTipMode = MarkerTooltipMode.Never; Target.MyMarker.Position = new PointLatLng(Target.Lat, Target.Lon); BuildDynamicLabelText(Target, ref Target.MyMarker); SetLabelAttributes(ref Target.MyMarker); if (Build_Local_Display) { DinamicOverlay.Markers.Add(Target.MyMarker); if (SharedData.Prediction1_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.One, ref PredictionOverlay); if (SharedData.Prediction2_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Two, ref PredictionOverlay); if (SharedData.Prediction3_Enabled) Prediction_B.Build_Prediction_Marker(Target.MyMarker.Position, Target.MyMarker.CALLSIGN_STRING, MySqlProvider.PredictionTableNumberType.Three, ref PredictionOverlay); } if (Provide_To_Google_Earth) ASTX_TO_KML.AddNewTarget(Target); if (ProvideWebData) WebBasedDisplayProvider.SetTargetData(Target.Lat.ToString(), Target.Lon.ToString(), Target.ACID_Mode_S, Target.ModeA, Target.ModeC); } } } } catch { } Cursor.Position = new Point(Cursor.Position.X + 1, Cursor.Position.Y); Cursor.Position = new Point(Cursor.Position.X - 1, Cursor.Position.Y); // Check if there were any items, if so then tell KML to build the file if (Provide_To_Google_Earth) ASTX_TO_KML.BuildKML(); if (ProvideWebData) WebBasedDisplayProvider.WriteTrackData(); } else // Here handle display of passive display (buffered data) { DynamicDisplayBuilder.GetDisplayData(true, out TargetList); this.lblNumberofTargets.Text = TargetList.Count.ToString(); foreach (DynamicDisplayBuilder.TargetType Target in TargetList) { if (Passes_Check_For_Flight_Level_Filter(Target.ModeC)) { // If SSR code filtering is to be applied if (this.checkBoxFilterBySSR.Checked == true && (this.comboBoxSSRFilterBox.Items.Count > 0)) { if (Target.ModeA == this.comboBoxSSRFilterBox.Items[SSR_Filter_Last_Index].ToString()) { GMap.NET.WindowsForms.Markers.GMapMarkerCross MyMarker = new GMap.NET.WindowsForms.Markers.GMapMarkerCross(new PointLatLng(Target.Lat, Target.Lon)); MyMarker.ToolTipMode = MarkerTooltipMode.Always; MyMarker.ToolTipText = BuildPassiveLabelText(Target); SetLabelAttributes(ref MyMarker); DinamicOverlay.Markers.Add(MyMarker); } } else // No filter so just display all of them { GMap.NET.WindowsForms.Markers.GMapMarkerCross MyMarker = new GMap.NET.WindowsForms.Markers.GMapMarkerCross(new PointLatLng(Target.Lat, Target.Lon)); MyMarker.ToolTipMode = MarkerTooltipMode.Always; MyMarker.ToolTipText = BuildPassiveLabelText(Target); SetLabelAttributes(ref MyMarker); DinamicOverlay.Markers.Add(MyMarker); } } } } } }