【发布时间】:2015-03-30 01:50:25
【问题描述】:
method - (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
由于这种方法已被弃用,我想知道如何访问 NSArray 中的旧位置。 Array 是否存储每次更新的位置。我尝试了以下方法,但无法更新
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations{
CLLocation* location = [locations lastObject];
CLLocation *oldLocation;
NSNumber *lat = [NSNumber numberWithDouble:location.coordinate.latitude];
NSNumber *lon = [NSNumber numberWithDouble:location.coordinate.longitude];
[[NSUserDefaults standardUserDefaults] setInteger:counter forKey:@"counter"];
NSDictionary *userLocation=@{@"lat":lat,@"long":lon};
[defaults setObject:userLocation forKey:@"userLocation"];
[defaults synchronize];
if (locations.count > 1) {
oldLocation = locations[locations.count - 2];
}
NSLog(@"old location(%f,%f)", oldLocation.coordinate.latitude, oldLocation.coordinate.longitude );
// NSLog(@"new location (%f,%f)", location.coordinate.latitude, location.coordinate.longitude );
}
【问题讨论】: