Hen*_*son 4 iphone mapkit userlocation
我不是将它用于行车路线或类似用途。我有一些注释,并希望在用户靠近其中一个注释时触发,这样我就可以提醒用户。
似乎每个 startUpdatingLocation 调用只调用一次 didUpdateToLocation?至少当我在该方法中使用 NSLog 时,我在控制台中只得到一行。不,我不是带着 iphone 四处走动。
那么:设置对 userLocation 的持续监控并获得“回调”的正确方法是什么(在 3-4 秒过去或用户移动 10 米时)?
您可能知道,这是初始化和启动位置管理器的代码:
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
[locationManager startUpdatingLocation];
Run Code Online (Sandbox Code Playgroud)
并像这样实现didUpdateToLocation:
- (void) locationManager:(CLLocationManager*)manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*) oldLocation
{
// This will be called every time the device has any new location information.
}
Run Code Online (Sandbox Code Playgroud)
didUpdateToLocation每次有位置更新时,系统都会调用。如果系统没有检测到位置的变化,didUpdateToLocation则不会调用。您唯一能做的就是像我在示例中所做的那样设置distanceFilter和desiredAccuracy以提供最高的准确度。
更新
使用 kCLLocationAccuracyBest 代替 kCLLocationAccuracyNearestTenMeters 以获得更高的准确性。
| 归档时间: |
|
| 查看次数: |
2456 次 |
| 最近记录: |