static void gps_PositionChange(object sender, GPSPositionChangeEventArgs e) { Console.WriteLine("Position Change event:"); Console.WriteLine("\tLatitude: " + gps.Latitude.ToString()); Console.WriteLine("\tLongitude: " + gps.Longitude.ToString()); Console.WriteLine("\tAltitude: " + gps.Altitude.ToString()); Console.WriteLine("\tHeading: " + gps.Heading.ToString()); Console.WriteLine("\tVelocity: " + gps.Velocity.ToString()); }
void gps_PositionChange(object sender, GPSPositionChangeEventArgs e) { latTxt.Text = e.Latitude.ToString("f6"); longTxt.Text = e.Longitude.ToString("f6"); altTxt.Text = e.Altitude.ToString("f1") + "m"; try { headTxt.Text = gps.Heading.ToString(); velTxt.Text = gps.Velocity.ToString("f1") + "km/h"; } catch { } try { if (checkBox1.Checked) { gMapControl1.CurrentPosition = new GMap.NET.PointLatLng(e.Latitude, e.Longitude); } } catch { } double xcoor1 = 0, ycoor1 = 0, xcoor2 = 0, ycoor2 = 0; double head = 0; try { head = gps.Heading; } catch { } xcoor1 = (Math.Sin(((head + 180) * 0.0174532925)) * 10) + 10; ycoor1 = (Math.Cos(((head + 180) * 0.0174532925)) * 10) + 10; xcoor2 = 10 - (Math.Sin(((head + 180) * 0.0174532925)) * 10); ycoor2 = 10 - (Math.Cos(((head + 180) * 0.0174532925)) * 10); mapGraphic.Clear(Color.FromName("Control")); mapGraphic.SmoothingMode = SmoothingMode.AntiAlias; Pen p = new Pen(Color.Black, 4); p.StartCap = LineCap.Round; p.EndCap = LineCap.ArrowAnchor; mapGraphic.DrawLine(p, (float)xcoor2, (float)ycoor2, (float)xcoor1, (float)ycoor1); p.Dispose(); }
void gps_PositionChange(object sender, GPSPositionChangeEventArgs e) { latTxt.Text = e.Latitude.ToString("f6"); longTxt.Text = e.Longitude.ToString("f6"); altTxt.Text = e.Altitude.ToString("f1") + "m"; try { headTxt.Text = gps.Heading.ToString(); velTxt.Text = gps.Velocity.ToString("f1") + "km/h"; } catch { } try { if (checkBox1.Checked) gMapControl1.CurrentPosition = new GMap.NET.PointLatLng(e.Latitude, e.Longitude); } catch { } double xcoor1 = 0, ycoor1 = 0, xcoor2 = 0, ycoor2 = 0; double head = 0; try { head = gps.Heading; } catch { } xcoor1 = (Math.Sin(((head + 180) * 0.0174532925)) * 10) + 10; ycoor1 = (Math.Cos(((head + 180) * 0.0174532925)) * 10) + 10; xcoor2 = 10 - (Math.Sin(((head + 180) * 0.0174532925)) * 10); ycoor2 = 10 - (Math.Cos(((head + 180) * 0.0174532925)) * 10); mapGraphic.Clear(Color.FromName("Control")); mapGraphic.SmoothingMode = SmoothingMode.AntiAlias; Pen p = new Pen(Color.Black, 4); p.StartCap = LineCap.Round; p.EndCap = LineCap.ArrowAnchor; mapGraphic.DrawLine(p, (float)xcoor2, (float)ycoor2, (float)xcoor1, (float)ycoor1); p.Dispose(); }