public Geocoordinate( double latitude, double longitude, double accuracy, DateTimeOffset timestamp, Geopoint point, double?altitude = null, double?altitudeAccuracy = null, double?heading = null, double?speed = null, PositionSource positionSource = PositionSource.Default, GeocoordinateSatelliteData satelliteData = null, DateTimeOffset?positionSourceTimestamp = null ) { Latitude = latitude; Longitude = longitude; Accuracy = accuracy; Timestamp = timestamp; Point = point; Altitude = altitude; AltitudeAccuracy = altitudeAccuracy; Heading = heading; Speed = speed; PositionSource = positionSource; SatelliteData = satelliteData; PositionSourceTimestamp = positionSourceTimestamp; }
public void UpdateUI(DateTimeOffset datetime, string nmea, double lat, double lon, string speed, string accuracy, PositionSource source) { //try //{ window.SetLocationLog(datetime.ToString() + " sending NMEA:"); window.SetLocationLog(nmea); window.SetLatLon(lat, lon); if (speed == "") { speed = "n/a"; } else { speed += "kn"; } window.SetSpeed(speed); window.SetDatetime(datetime.ToString()); window.SetAccuracy(accuracy + "m"); window.SetSource(source.ToString()); //} //catch (Exception ex) { // throw ex; //} }
internal Location(double latitude, double longitude, double altitude, double speed, double heading, double accuracy, double altitudeAccuracy, PositionSource positionSource) { Latitude = latitude; Longitude = longitude; Altitude = altitude; Speed = speed; Heading = heading; Accuracy = accuracy; AltitudeAccuracy = altitudeAccuracy; Source = positionSource; }
public override void DrawGUI(IntelligenceState parentState, Intelligence intelligence, CallbackCollection callbacks) { #if UNITY_EDITOR posVarSource = (PositionSource)UnityEditor.EditorGUILayout.EnumPopup("Position source:", posVarSource); if (posVarSource == PositionSource.VarValue) { UnityEditor.EditorGUILayout.BeginHorizontal(); GUILayout.Label("Postion var name:"); posVarName = UnityEditor.EditorGUILayout.TextField(posVarName); UnityEditor.EditorGUILayout.EndHorizontal(); } saveAsVar = UnityEditor.EditorGUILayout.Toggle("Save as var:", saveAsVar); if (saveAsVar) { UnityEditor.EditorGUILayout.BeginHorizontal(); GUILayout.Label("Save var name:"); saveVarName = UnityEditor.EditorGUILayout.TextField(saveVarName); UnityEditor.EditorGUILayout.EndHorizontal(); } #endif }
public static Core.Geolocation.PositionSource AsTackTimerModel(this PositionSource source) { return((Core.Geolocation.PositionSource)(int) source); }
public void StartTracking() { window.SetStatus(loc.LocationStatus.ToString()); if (positionChangedHandler == null) { positionChangedHandler = (geo, e) => { Geoposition pos = e.Position; DateTimeOffset datetime = pos.Coordinate.Timestamp; String time = pos.Coordinate.Timestamp.UtcDateTime.ToString("hhmmss"); String date = pos.Coordinate.Timestamp.UtcDateTime.ToString("dMMyy"); double lat = (double)pos.Coordinate.Point.Position.Latitude; double lon = (double)pos.Coordinate.Point.Position.Longitude; string accuracy = pos.Coordinate.Accuracy.ToString(); String heading = "0.0"; if (pos.Coordinate.Heading != null) { heading = pos.Coordinate.Heading.Value.ToString("00.00"); } String speed = "0.0"; if (pos.Coordinate.Speed != null) { double kn = (double)pos.Coordinate.Speed / 0.514444; speed = kn.ToString("00.00"); } String coords = decimalToNMEA(lat, lon); String sentence = String.Format("$GPRMC,{0},A,{1},{2},{3},{4},,", time, coords, speed, heading, date); String nmea = sentence + "*" + getChecksum(sentence); //Console.WriteLine("Sent NMEA sentence {0}", nmea); Report(nmea); PositionSource source = e.Position.Coordinate.PositionSource; UpdateUI(datetime, nmea, lat, lon, speed, accuracy, source); }; } if (statusChangedHandler == null) { statusChangedHandler = (geo, e) => { PositionStatus status = e.Status; try { window.SetStatus(status.ToString()); } catch (Exception ex) { Console.WriteLine(ex); } }; } // this implicitly starts the tracking operation loc.PositionChanged += positionChangedHandler; loc.StatusChanged += statusChangedHandler; }