/* * private static void Gps_DeviceStateChanged(object sender, EventArgs.DeviceStateChangedEventArgs args) * { * //m_GpsDeviceState = args.DeviceState; * * //Invoke(m_UpdateDataHandler); * } * * //private void Gps_LocationChanged(object sender, LocationChangedEventArgs args) * //{ * // m_GpsPosition = args.Position; * * // Invoke(m_UpdateDataHandler); * //} */ private void Gps_LocationChanged(object sender, TrainStationAdvisor.ClassLibrary.EventArgs.GPSLocationChangedEventArgs args) { m_GpsPosition = args.Position; //Invoke(m_UpdateDataHandler); BeginInvoke(m_UpdateDataHandler); }
//add track data to database (to gpsData table) and clear list of position public void addTrackData(GPS.Position <GpsPosition> positionList) { GpsPosition[] positionArray = new GpsPosition[positionList.Count]; positionList.CopyTo(positionArray, 0); positionList.Clear(); StringBuilder query = new StringBuilder(); try { foreach (GpsPosition pos in positionArray) { query.Append("INSERT INTO gpsData ('trackId', 'longitude', 'latitude', 'altitude', 'fix') VALUES ("); query.Append(trackId + ", '"); query.Append(pos.Longitude + "', '"); query.Append(pos.Latitude + "', '"); query.Append(pos.SeaLevelAltitude + "', '"); query.Append((int)pos.PositionDilutionOfPrecision + "');"); } createSqliteConn(); executeQuery(query, false); closeSqliteConn(); } catch (SQLiteException sqliteEx) { MessageBox.Show("exception " + sqliteEx.Message); } }
void gps_PositionReceived(GPS sender, GPS.Position position) { currentLatitude = gps.LastPosition.Latitude; currentLatitude = gps.LastPosition.Longitude; }