-2

在这里,我们必须使用位置管理器更新当前位置,它在模拟器上正确更新,但在设备上不更新仅重复 4 或 5 次。为什么位置不经常更新,请帮我解决这个问题

这里我使用的代码如下所示

CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
    [locationManager startUpdatingLocation];

委托方式:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{

    NSLog(@"newLocation: %@",newLocation);
}

这是委托方法被调用了四五次。

4

2 回答 2

0

如果您将位置精度用作“ kCLLocationAccuracyBestForNavigation”,则您的设备应保持插入状态。

最好将其设置为' kCLLocationAccuracyBest'。也移动到相当远的距离以击中代表。最初它会命中 4-5 次以找到您。确定您的位置后,当您的位置发生变化时,它将致电代表。

因此,在委托中以附加模式在存储在文档目录中的文件中写入一些内容。将纬度/经度和时间详细信息记录到其中。现在移动一段距离。

加入手机并从文档目录中获取文件。它必须记录所需的详细信息。

于 2012-12-20T13:11:52.723 回答
0

在这里,我使用这个委托方法解决了这个问题

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations{
}
于 2013-02-19T05:27:12.300 回答