我是位置服务的新手。我使用了startMonitoringSignificantLocationChanges
和(void)locationManager:(CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
方法但是在更改位置值时没有调用它。我希望每当用户更改其位置时获取位置值。我应该如何实现这一点?请帮我解决。提前谢谢。
答案 0 :(得分:0)
您需要实现“didUpdateLocations”委托方法。这是样本
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
NSLog(@"locations : %@",locations.description);
CLLocation *currentLocation = [locations lastObject];
NSLog(@"current location : %f %f",currentLocation.coordinate.latitude,currentLocation.coordinate.longitude);
}
答案 1 :(得分:0)
在iOS 8中,您需要做两件额外的事情才能让位置正常工作: 1.将以下一个或两个键添加到Info.plist文件中:
NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription
接下来,您需要为相应的位置方法,WhenInUse或Background请求授权。使用以下电话之一:
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestAlwaysAuthorization];
有关详情,请参阅以下链接。 http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/