我的应用程序目前使用带有自定义叠加层的相机来拍摄和保存照片。
理想情况下,我还想在拍摄照片时收集以下 3 个参数:
- 精确的 GPS 定位
- 指南针方向
- 手机倾斜
我主要专注于获取项目 1 和 2。关于如何做到这一点的任何想法?
我的应用程序目前使用带有自定义叠加层的相机来拍摄和保存照片。
理想情况下,我还想在拍摄照片时收集以下 3 个参数:
我主要专注于获取项目 1 和 2。关于如何做到这一点的任何想法?
您应该在 viewController 的 .h 文件中声明几个变量
float locLat; //for latitude
float locLon; //for longitude
float direction; // for angle in radian
CLLocationManager *Manager;
在 viewdidload 方法的 .m 文件中
Manager = [[CLLocationManager alloc] init];
Manager.delegate = self;
Manager.desiredAccuracy = kCLLocationAccuracyBest;
Manager.distanceFilter = 1.0;
[Manager startUpdatingLocation];
[Manager startUpdatingHeading];
这些委托方法将在您获取位置更新的位置调用
-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
userlat = newLocation.coordinate.latitude;
userlon = newLocation.coordinate.longitude;
}
这将为您提供指南针值更新
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
float direction = newHeading.trueHeading;
}
您可以在 imagepicker 的 didFinishPickingMediaWithInfo 委托方法中使用这三个值。