Пример #1
0
        public MainWindow()
        {
            MainWind = this;
            InitializeComponent();

            GPS.PositionReceived         += new NMEAParse.PositionReceivedEventHandler(GPS_PositionReceived);
            GPS.SatellitesInViewReceived += new NMEAParse.SatellitesInViewReceivedEventHandler(GPS_SatellitesInViewReceived);
            GPS.SatellitesUsed           += new NMEAParse.SatellitesUsedReceivedEventHandler(GPS_SatellitesUsed);
            GPS.SpeedReceived            += new NMEAParse.SpeedReceivedEventHandler(GPS_SpeedReceived);
            GPS.BearingReceived          += new NMEAParse.BearingReceivedEventHandler(GPS_BearingReceived);
            GPS.FixLost                 += new NMEAParse.FixLostEventHandler(GPS_FixLost);
            GPS.FixObtained             += new NMEAParse.FixObtainedEventHandler(GPS_FixObtained);
            GPS.HDOPReceived            += new NMEAParse.HDOPReceivedEventHandler(GPS_HDOPReceived);
            GPS.EllipsoidHeightReceived += new NMEAParse.EllipsoidHeightReceivedEventHandler(GPS_EllipsoidHeightReceived);

            SerializablePolyLine pl = new SerializablePolyLine();

            pl = (SerializablePolyLine)xmlIO.loadSettings(typeof(SerializablePolyLine), "lasttrack.xml");

            if (pl != null)
            {
                GPSTrack = pl.GetPolyLine();
            }
            else
            {
                GPSTrack.Stroke          = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Blue);
                GPSTrack.StrokeThickness = 2;
                GPSTrack.Opacity         = 0.7;
                GPSTrack.Locations       = new LocationCollection();
            }
            Map.Children.Add(GPSTrack);

            HeadingLine.Stroke          = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red);
            HeadingLine.StrokeThickness = 3;
            HeadingLine.Opacity         = 0.5;
            HeadingLine.Locations       = new LocationCollection();
            HeadingLine.Locations.Add(new Location(0, 0));
            HeadingLine.Locations.Add(new Location(0, 0));
            Map.Children.Add(HeadingLine);


            tcpCli = new TCPCli("192.168.0.1", 60660, MainWind.bConnectGPS, MainWind.tGPSConnStatus);
            tcpCli.StartClient();

            statusCli = new TCPCli("192.168.0.10", 9940, MainWind.bConnectStatus, MainWind.tStatusConnStatus);
            statusCli.StartClient();
            statusCli.debug = true;

            GPSParser = new Thread(new ThreadStart(HandleGPSstring));
            GPSParser.Start();

            loadPolyFromFile();
        }
Пример #2
0
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            savePolyTofile();

            //Save Track
            SerializablePolyLine line = new SerializablePolyLine();

            line.color     = ((SolidColorBrush)GPSTrack.Stroke).Color.ToString();
            line.Opacity   = .3;
            line.Thickness = GPSTrack.StrokeThickness;
            foreach (Location l in GPSTrack.Locations)
            {
                line.points.Add(new SerializablePolyLine.Pt(l.Latitude, l.Longitude));
            }
            xmlIO.createSettings(line, typeof(SerializablePolyLine), "lasttrack.xml");

            quit = true;
            tcpCli.MSGFlag.Set();
        }
Пример #3
0
        private void savePolyTofile()
        {
            List <SerializablePolyLine> pl = new List <SerializablePolyLine>();

            foreach (MapPolyline element in PolyLineArray)
            {
                SerializablePolyLine line = new SerializablePolyLine();
                line.color     = ((SolidColorBrush)element.Stroke).Color.ToString();
                line.Opacity   = element.Opacity;
                line.Thickness = element.StrokeThickness;
                foreach (Location l in element.Locations)
                {
                    Console.WriteLine("adding point");
                    line.points.Add(new SerializablePolyLine.Pt(l.Latitude, l.Longitude));
                }
                pl.Add(line);
            }
            xmlIO.createSettings(pl, typeof(List <SerializablePolyLine>), "polyline.xml");
        }