在拍摄相机时收集GPS位置和指南针方向?

时间:2012-07-21 02:35:39

标签: iphone objective-c ios

我的应用程序目前使用带有自定义叠加层的相机拍摄并保存图片。

理想情况下,我想在拍摄照片时收集以下3个参数:

  1. 精确的GPS位置
  2. 指南针方向
  3. 电话倾斜
  4. 我主要专注于获得第1项和第1项。 2.关于我如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:1)

你应该在viewController的.h文件中声明几个变量

float locLat;   //for latitude
float locLon;   //for longitude
float direction;  // for angle in radian
CLLocationManager *Manager; 

在.d文件中的viewdidload方法

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委托方法中使用这三个值。