public Position(Position position) { if (position == null) throw new ArgumentNullException("position"); Timestamp = position.Timestamp; Latitude = position.Latitude; Longitude = position.Longitude; Altitude = position.Altitude; AltitudeAccuracy = position.AltitudeAccuracy; Accuracy = position.Accuracy; Heading = position.Heading; Speed = position.Speed; }
private void _sendUpdate(Position location) { if (location == null) CurrentLocation.IsResolved = false; else { CurrentLocation.Accuracy = location.Accuracy; CurrentLocation.Latitude = location.Latitude; CurrentLocation.Longitude = location.Longitude; CurrentLocation.Heading = location.Heading; CurrentLocation.HeadingAvailable = _geolocator.SupportsHeading; CurrentLocation.Speed = location.Speed; CurrentLocation.Altitude = location.Altitude; CurrentLocation.AltitudeAccuracy = location.AltitudeAccuracy; // assume that any location event that came through is valid // and also assume this property means sorrthe location is legit CurrentLocation.IsResolved = true; CurrentLocation.Status = XPositionStatus.Ready; } _fire(); }
private void UpdatePosition(CLLocation location) { Position p = (this.position == null) ? new Position() : new Position(this.position); if (location.HorizontalAccuracy > -1) { p.Accuracy = location.HorizontalAccuracy; p.Latitude = location.Coordinate.Latitude; p.Longitude = location.Coordinate.Longitude; } if (location.VerticalAccuracy > -1) { p.Altitude = location.Altitude; p.AltitudeAccuracy = location.VerticalAccuracy; } if (location.Speed > -1) p.Speed = location.Speed; //p.Timestamp = new DateTimeOffset(location.Timestamp); this.position = p; OnPositionChanged(new PositionEventArgs(p)); location.Dispose(); }
private void OnUpdatedHeading(object sender, CLHeadingUpdatedEventArgs e) { if (e.NewHeading.TrueHeading == -1) return; Position p = (this.position == null) ? new Position() : new Position(this.position); p.Heading = e.NewHeading.TrueHeading; this.position = p; OnPositionChanged(new PositionEventArgs(p)); }
public PositionEventArgs(Position position) { if (position == null) throw new ArgumentNullException("position"); Position = position; }