public Geolocation(LocationManager locationManager)
 {
     _locationManager = locationManager;
     _success = position => { };
     _error = error => { };
     _options= new GeolocationOptions();
     _watchId = Guid.NewGuid().ToString();
 }
Example #2
0
 public Geolocation(LocationManager locationManager)
 {
     _locationManager = locationManager;
     _success         = position => { };
     _error           = error => { };
     _options         = new GeolocationOptions();
     _watchId         = Guid.NewGuid().ToString();
 }
 private void GetLastKnownLocation(GeolocationOptions options)
 {
     Location lastKnownLocation=null;
     if (options!=null && options.EnableHighAccuracy)
         lastKnownLocation = _locationManager.GetLastKnownLocation(LocationManager.GpsProvider);
             
     if (lastKnownLocation==null)
         lastKnownLocation = _locationManager.GetLastKnownLocation(LocationManager.NetworkProvider);
     
     SendLocation(lastKnownLocation);
 }
        public string WatchPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
        {
            _success = success;
            _error = error;
            _options = options;
            string provider = options==null ? LocationManager.NetworkProvider: _options.EnableHighAccuracy ? LocationManager.GpsProvider : LocationManager.NetworkProvider;
            TimeWatch();

            _locationManager.RequestLocationUpdates(provider,_options.MaximumAge, 50,this);

            return _watchId;
        }
Example #5
0
        public string WatchPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
        {
            _success = success;
            _error   = error;
            _options = options;
            string provider = options == null ? LocationManager.NetworkProvider: _options.EnableHighAccuracy ? LocationManager.GpsProvider : LocationManager.NetworkProvider;

            TimeWatch();

            _locationManager.RequestLocationUpdates(provider, _options.MaximumAge, 50, this);

            return(_watchId);
        }
Example #6
0
 public void GetCurrentPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
 {
     try
     {
         _success = success;
         _error   = error;
         _options = options;
         GetLastKnownLocation(_options);
     }
     catch (Exception exception)
     {
         error(new PositionError(PositionErrorCode.PositionUnavailable, exception.Message));
     }
 }
Example #7
0
 private void TimerElapsed(object o, ElapsedEventArgs e)
 {
     if (_isTiming)
     {
         var options = new GeolocationOptions
         {
             EnableHighAccuracy = false,
             MaximumAge         = _options.MaximumAge,
             Timeout            = _options.Timeout
         };
         GetLastKnownLocation(options);
         StopTiming();
     }
 }
 public void GetCurrentPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
 {
     try
     {
         _success = success;
         _error = error;
         _options = options;
         GetLastKnownLocation(_options);
     }
     catch (Exception exception)
     {
         error(new PositionError(PositionErrorCode.PositionUnavailable, exception.Message));
     }
 }
Example #9
0
        private void GetLastKnownLocation(GeolocationOptions options)
        {
            Location lastKnownLocation = null;

            if (options != null && options.EnableHighAccuracy)
            {
                lastKnownLocation = _locationManager.GetLastKnownLocation(LocationManager.GpsProvider);
            }

            if (lastKnownLocation == null)
            {
                lastKnownLocation = _locationManager.GetLastKnownLocation(LocationManager.NetworkProvider);
            }

            SendLocation(lastKnownLocation);
        }
        public string WatchPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
        {
            _watchPositionCallback = success;
            _errorCallback = error;
            if (options.EnableHighAccuracy && _geoWatcher.DesiredAccuracy != GeoPositionAccuracy.High)
            {
                _geoWatcher.PositionChanged -= OnPositionChanged;
                _geoWatcher.Stop();

                _geoWatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                _geoWatcher.PositionChanged += OnPositionChanged;
            }

            _geoWatcher.Start();
            return _watchId;            
        }
        public void GetCurrentPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
        {
            _currentPositionCallback = success;
            _errorCallback = error;

            if(options.EnableHighAccuracy && _geoWatcher.DesiredAccuracy != GeoPositionAccuracy.High)
            {
                _geoWatcher.StatusChanged -= OnStatusChanged;
                _geoWatcher.Stop();

                _geoWatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                _geoWatcher.StatusChanged += OnStatusChanged;
            }

            if(_geoWatcher.Status == GeoPositionStatus.Disabled || _geoWatcher.Status == GeoPositionStatus.NoData)
            {
                _geoWatcher.Start();
            }
        }
Example #12
0
 public string WatchPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
 {
     throw new NotImplementedException();
 }
 private void TimerElapsed(object o, ElapsedEventArgs e)
 {
     if (_isTiming)
     {
         var options = new GeolocationOptions
                           {
                               EnableHighAccuracy = false,
                               MaximumAge = _options.MaximumAge,
                               Timeout = _options.Timeout
                           };
         GetLastKnownLocation(options);
         StopTiming();
     }
 }
Example #14
0
        public string WatchPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
        {
            _watchPositionCallback = success;
            _errorCallback         = error;
            if (options.EnableHighAccuracy && _geoWatcher.DesiredAccuracy != GeoPositionAccuracy.High)
            {
                _geoWatcher.PositionChanged -= OnPositionChanged;
                _geoWatcher.Stop();

                _geoWatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                _geoWatcher.PositionChanged += OnPositionChanged;
            }

            _geoWatcher.Start();
            return(_watchId);
        }
Example #15
0
        public void GetCurrentPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
        {
            _currentPositionCallback = success;
            _errorCallback           = error;

            if (options.EnableHighAccuracy && _geoWatcher.DesiredAccuracy != GeoPositionAccuracy.High)
            {
                _geoWatcher.StatusChanged -= OnStatusChanged;
                _geoWatcher.Stop();

                _geoWatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                _geoWatcher.StatusChanged += OnStatusChanged;
            }

            if (_geoWatcher.Status == GeoPositionStatus.Disabled || _geoWatcher.Status == GeoPositionStatus.NoData)
            {
                _geoWatcher.Start();
            }
        }
 public void GetCurrentPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
 {
     GetPositionAsync(success);
 }
 public string WatchPosition(Action<Position> success, Action<PositionError> error, GeolocationOptions options)
 {
     throw new NotImplementedException();
 }
Example #18
0
 public void GetCurrentPosition(Action <Position> success, Action <PositionError> error, GeolocationOptions options)
 {
     throw new NotImplementedException();
 }