コード例 #1
0
        static async Task UpdatePosition(CLLocation location)
        {
            var result = new GeoPosition
            {
                Accuracy         = location.HorizontalAccuracy,
                Latitude         = location.Coordinate.Latitude,
                Longitude        = location.Coordinate.Longitude,
                Altitude         = location.Altitude,
                AltitudeAccuracy = location.VerticalAccuracy,
                Speed            = location.Speed
            };

            if (location.VerticalAccuracy == -1)
            {
                result.Altitude         = null;
                result.AltitudeAccuracy = null;
            }

            if (location.Speed == -1)
            {
                result.Speed = null;
            }

            await PositionChanged?.RaiseOn(Thread.Pool, result);

            location.Dispose();
        }
コード例 #2
0
ファイル: Location.cs プロジェクト: Geeksltd/Zebble.Location
        static Task OnListenerPositionChanged(GeoPosition position)
        {
            if (!IsTracking)
            {
                return(Task.CompletedTask);
            }

            LastPosition = position;
            return(PositionChanged.RaiseOn(Thread.Pool, position));
        }