1

私のアプリは現在、カスタムオーバーレイ付きのカメラを使用して、写真を撮って保存しています。

理想的には、写真撮影時に次の3つのパラメータも収集したいと思います。

  1. 正確なGPS位置
  2. コンパスの方向
  3. 電話の傾き

私は主にアイテム1と2を入手することに焦点を当てています。これを行う方法について何かアイデアはありますか?

4

1 に答える 1

1

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;    
}

これら 3 つの値は、imagepicker の didFinishPickingMediaWithInfo デリゲート メソッドで使用できます。

于 2012-07-21T06:37:59.167 に答える