Esempio n. 1
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        public PositionEventArgs(Position position)
        {
            if (position == null)
                throw new ArgumentNullException("position");

            Position = position;
        }