I am trying to get the GPS strength value to show if the signal is strong or weak. Does anyone know how to get the value.
Thanks in advance.
I am trying to get the GPS strength value to show if the signal is strong or weak. Does anyone know how to get the value.
Thanks in advance.
use the properties of CLLocation like horizontalAccuracy
and verticalAccuracy
which indicate how accurate the device believes that location fix to be.
and u can use
if (someLocation.horizontalAccuracy < 0)
{
// No Signal
}
else if (someLocation.horizontalAccuracy > 163)
{
// Poor Signal
}
else if (someLocation.horizontalAccuracy > 48)
{
// Average Signal
}
else
{
// Full Signal
}
taken from link hope it helps. happy coding :)
You could have used the excellent search function of stackoverflow and find this solution:
You don't have direct access to number of visible satellites or signal strength.
You could however calculate fake signal strength from accuracy.
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog (@"accuracy: H:%.2f, V:%.2f", newLocation.horizontalAccuracy, newLocation.verticalAccuracy);
}
Just want to add to this topic since myself had the similar question. The accepted answer had the values all wrong. Please check my answer here:
https://stackoverflow.com/a/72131216/2841538.
List of accuracy values:
extern const CLLocationAccuracy kCLLocationAccuracyBestForNavigation; // (raw value: -2)
extern const CLLocationAccuracy kCLLocationAccuracyBest; // (raw value: -1)
extern const CLLocationAccuracy kCLLocationAccuracyNearestTenMeters; // (raw value: 10)
extern const CLLocationAccuracy kCLLocationAccuracyHundredMeters; // (raw value: 100)
extern const CLLocationAccuracy kCLLocationAccuracyKilometer; // (raw value: 1000)
extern const CLLocationAccuracy kCLLocationAccuracyThreeKilometers; // (raw value: 3000)