0
我想多次更新当前位置。 在我viewDidLoad方法:更新多次当前位置
locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.delegate = self;
locationManager.distanceFilter = 1000.0f;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
[locationManager requestWhenInUseAuthorization];
}
[locationManager startUpdatingLocation];
在我didUpdateToLocation方法我已经登录newlocation。
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
latitude = newLocation.coordinate.latitude;
longitude = newLocation.coordinate.longitude;
NSLog(@"Updated Location : lat--%f long--%f",latitude,longitude);
}
但它只记录一个。
我想更新当前多次。
====更新我的代码:
-(void)getCurrentLocation{
locationManager = [CLLocationManager new];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations {
// If it's a relatively recent event, turn off updates to save power.
CLLocation* location = [locations lastObject];
// NSDate* eventDate = location.timestamp;
// NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
// if (abs(howRecent) < 15.0) {
// If the event is recent, do something with it.
longitude = location.coordinate.longitude;
latitude = location.coordinate.latitude;
[_lbllongtitude setText:[NSString stringWithFormat:@"%+.6f",longitude]];
[_lbllatitude setText:[NSString stringWithFormat:@"%+.6f",latitude]];
// }
[self getLocationMapView];
}
它不是自动更新当前的位置,
请帮帮我!
无关,但从来没有做iOS版本检查。检查是否存在类或方法。 – rmaddy
该委托方法也被弃用 - 使用'didUpdateLocations:'您是否从最初位置移动了一公里以上? – Paulw11
使用 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations方法。 Paulw11你能帮我解决一下这个问题吗? – user5068763