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

Posted

技术标签:

【中文标题】在 iOS5 中使用 Accuracy 查找用户位置的方法【英文标题】:Methods to find user location with Accuracy in iOS5 【发布时间】:2012-09-06 10:11:41 【问题描述】:

我需要在 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】:

看这个链接

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

【讨论】:

感谢您提供的信息。我正在使用相同的功能,但位置与实际位置仍然不准确。谁能告诉我 CLLocation 有多准确?这取决于位置吗?

以上是关于在 iOS5 中使用 Accuracy 查找用户位置的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ALAssetsLibrary 访问照片而不在 iOS5 中请求位置访问?

jquery数值精度计算

使用 CLGeocoder 反向地理编码查找当前位置

在 MongoDB 中查找与部分电话号码数组匹配的文档

在 MongoDB 中查找与部分电话号码数组匹配的文档

iOS5 应用未在通知中心列出