相关疑难解决方法(0)

优化CLLocationManager/CoreLocation以在iPhone上更快地检索数据点

我目前正在使用CoreLocation + CLLocationManager来将用户当前位置与N个其他位置进行比较.我面临的问题是我正在处理位置彼此接近的城市区域,所以我需要在不牺牲太多时间的情况下准确地指出用户的位置.我的计算是准确的,问题是,收集10个样本需要太长时间.我将在下面粘贴我的过滤器/精确度相应的代码.如果有人可以评论我如何加快速度,那就太好了.直到我加速,它在我的应用程序中相当无用,因为它目前需要大约3-4分钟来收集信息,这是我的目标人群不接受的持续时间.

代码看起来像这样:

[self.locationManager setDistanceFilter:kCLDistanceFilterNone];
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    if (newLocation.horizontalAccuracy > 0.0f &&
        newLocation.horizontalAccuracy < 120.0f) { // roughly an accuracy of 120 meters, we can adjust this.

    [myLocs addObject:newLocation];
}
Run Code Online (Sandbox Code Playgroud)

感谢任何优化技巧,以加快这一进程.

iphone cocoa-touch core-location

17
推荐指数
1
解决办法
3万
查看次数

iOS CLLocationManager在一个单独的类中

我有多个视图控制器需要获取用户的位置,所以我想创建一个单独的类,ViewControllers可以调用该类来获取用户的最新位置.

locationManager:didUpdateToLocation:fromLocation返回void.一旦计算出用户的纬度和经度,我如何将纬度和经度数据传回我的ViewControllers?

我可以尝试在我的locationManaging类中编写getter和setter,但是如果我这样做,我怎么知道何时从我的ViewController类中调用latitude getter和longitude getter方法?如何保持ViewController的主线程等待来自locationManaging类的纬度和经度值?

谢谢!

xcode core-location cllocationmanager ios

16
推荐指数
3
解决办法
2万
查看次数