我不是用它来指路或类似的。我有一些注释,并希望当用户在其中之一附近时触发,这样我就可以提醒用户。
似乎每个startUpdatingLocation调用只调用一次didUpdateToLocation?至少当我在该方法中使用NSLog时,我在控制台中只得到一行。不,我不会带着iphone到处走的。
那么:设置对userLocation的连续监控并获得“回调”(当3-4秒过去或当用户移动时,例如10米时)的正确方式是什么?
发布于 2010-08-03 15:41:30
您可能知道,这是初始化和启动位置管理器的代码:
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
[locationManager startUpdatingLocation];并像这样实现didUpdateToLocation:
- (void) locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*) oldLocation
{
// This will be called every time the device has any new location information.
}每次位置有更新时,系统都会调用didUpdateToLocation。如果系统未检测到位置更改,则不会调用didUpdateToLocation。您唯一能做的就是像我在示例中所做的那样设置distanceFilter和desiredAccuracy,以获得最高的精度。
更新
使用kCLLocationAccuracyBest代替kCLLocationAccuracyNearestTenMeters以获得更高的准确性。
https://stackoverflow.com/questions/3394431
复制相似问题