locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
//delegate方法
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
if (startPoint == nil) {
startPoint = newLocation;
}
//纬度
NSString *latitudeString = [[NSString alloc] initWithFormat:@"%g\u00B0",newLocation.coordinate.latitude];
NSLog(@"latitudeString---%@",latitudeString);
//经度
NSString *longitudeString = [[NSString alloc] initWithFormat:@"%g\u00B0",newLocation.coordinate.longitude];
NSLog(@"longitudeString--%@",longitudeString);
NSString *horizontalAccuracyString = [[NSString alloc] initWithFormat:@"%gm",newLocation.horizontalAccuracy];
NSLog(@"horizontalAccuracyString--%@",horizontalAccuracyString);
//海平面以上或者以下
NSString *altitudeString = [[NSString alloc] initWithFormat:@"%gm",newLocation.altitude];
NSLog(@"altitudeString---%@",altitudeString);
NSString *verticalAccurancyString = [[NSString alloc] initWithFormat:@"%gm",newLocation.verticalAccuracy];
NSLog(@"verticalAccurancyString--%@",verticalAccurancyString);
CLLocationDistance distance = [newLocation distanceFromLocation:startPoint];
NSString *distanceString = [[NSString alloc] initWithFormat:@"%gm",distance];
NSLog(@"distanceString--%@",distanceString);
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSString *errorType = (error.code == kCLErrorDenied)?@"Access Denied":@"Unknown Error";
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error getting location" message:errorType delegate:nil cancelButtonTitle:@"oKay" otherButtonTitles:nil];
[alertView show];
[alertView release];
}