【发布时间】:2017-01-11 16:07:29
【问题描述】:
我使用CLLocationManager 来检测当前用户位置。这是我的代码:
- (void)viewDidLoad {
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
locationManager.delegate = self;
if ([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[locationManager requestWhenInUseAuthorization];
}
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
curLocation = [locations lastObject];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: curLocation.coordinate.latitude longitude: curLocation.coordinate.longitude zoom:currentZoom];
[mapView animateToCameraPosition:camera];
}
现在我正面临它的奇怪行为。我仍然坐在办公室里,设备在我旁边,但CLLocationManager 认为我一直在我周围 +/- 1414.0 m 区域内随机移动,速度 = -1,当然 = -1。我可以通过这些恒定的速度和路线过滤所有这些“错误的动作”,但我不明白为什么会这样。任何想法都非常感谢。
【问题讨论】:
标签: ios objective-c cllocationmanager