1

我需要在 iPhone 中找到用户位置。我可以使用CLLocation Manager. 但是我得到的位置与我的物理设备位置不准确。我使用以下标准来设置准确性

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

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

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

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

4

1 回答 1

1

看这个链接

LocateMe示例演示项目

或使用这个

放入你的 .h 文件

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

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

@end

和 .m 文件

在初始化方法中

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);
}
于 2012-09-06T10:16:23.277 回答