问题
I've seen Android developers get the accuracy of a GPS location. Is there a way that I can get the accuracy of my currenct GPS location in iOS?
I am using the code from this answer to get my location:
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"OldLocation %f %f", oldLocation.coordinate.latitude, oldLocation.coordinate.longitude);
NSLog(@"NewLocation %f %f", newLocation.coordinate.latitude, newLocation.coordinate.longitude);
}
回答1:
There are 2 properties on the CLLocation -horizontalAccuracy and -verticalAccuracy. Most of times the accuracy is based on the hardware that you are using to get the location
回答2:
horizontalAccuary of CLLocation gives the estimated positional error in meters related to the latitude, longitude coordinate.
verticalAccuracy gives the estimated error related to altitude.
回答3:
Use horizontalAccuracy and verticalAccuracy properties in CLLocation class. If horizontalAccuracy is a huge value you can discard the signals.
Also make sure to check the timeStamp with current date to ensure that the GPS signal is not cached.
来源:https://stackoverflow.com/questions/17337414/can-i-get-the-accuracy-of-gps-location-in-ios