在iOS5中使用Accuracy查找用户位置的方法

时间:2012-09-06 10:11:42

标签: iphone google-maps ios5 cllocation

我需要在iPhone中找到用户位置。我可以使用CLLocation Manager找到用户的当前位置。但我得到的位置对我的物理设备位置不准确。我使用以下标准来设置准确度

    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    locationManager.delegate = self;
    locationManager.distanceFilter = 10;
    [locationManager startMonitoringSignificantLocationChanges];
    [locationManager release];

当我尝试在locationManager:didUpdateToLocation:fromLocation:方法中打印“newLocation.verticalAccuracy”和“newLocation.horizo​​ntalAccuracy”时,大部分时间我的水平精度为10.0000,垂直精度为12.00000。

那么,有没有其他方法可以更准确地找到用户位置,或者我错过了任何设置?请帮忙。

仅供参考:我正在使用WiFi并在开放的地方进行测试以获得更好的结果。

1 个答案:

答案 0 :(得分:1)

看这个链接

LocateMe示例演示项目

或使用此

输入您的.h文件

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>

@interface yourController : UIViewController <CLLocationManagerDelegate> {
    CLLocationManager *locationManager;
}

@end

和.m文件

在init方法

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);
}