2016-08-15 3 views
0

私はさまざまな方法で試しましたが、あらゆる面で既に既存の資産の場所で利用可能な情報の一部が失われているようです。辞書からCLLocationオブジェクトを取り込みます

私は資産の変更コピーを作成しており、その資産で利用可能な位置情報をその変更コピーにコピーしたいと考えています。しかし、CLLocationで利用できるメソッドには、既存のAssets GPSで使用できるすべてのフィールドがありません。ここでは、既存の資産から利用できるものである:

 "{GPS}" =    { 
      Altitude = "50.4666666666667"; 
      GPSVersion =     (
       2, 
       3, 
       0, 
       0 
      ); 
      ImgDirection = "265.8132992327366"; 
      ImgDirectionRef = T; 
      Latitude = "58.5314"; 
      LatitudeRef = N; 
      Longitude = "21.5112"; 
      LongitudeRef = W; 
      MapDatum = "WGS-84"; 
      Speed = "2.053334425692282"; 
      SpeedRef = K; 
     }; 

CLLocation下で利用可能なほとんどのオプションを持つメソッドがされて、次のとおりです。

[loc initWithCoordinate:<#(CLLocationCoordinate2D)#> 
     altitude:<#(CLLocationDistance)#> 
     horizontalAccuracy:<#(CLLocationAccuracy)#> 
     verticalAccuracy:<#(CLLocationAccuracy)#> 
     course:<#(CLLocationDirection)#> 
     speed:<#(CLLocationSpeed)#> 
     timestamp:<#(nonnull NSDate *)#>]; 

私はまだ負けているように見える「ImgDirectionRef」、「LatitudeRef」、「LongitudeRef」 、 'MatDatum'、 'GPSVersion'のいずれかを選択します。

CLLocationが修正されたアセットに完全にコピーされていることを確認するために他に何ができるか知っていますか?前もって感謝します。

答えて

0

CLLocationの一部ではない余分な値を保存するには、サブタイプCLLocationが必要です。例えば

#import <CoreLocation/CoreLocation.h> 
@interface CustomLocation : CLLocation 

@property NSInteger ImgDirectionRef; 
//etc 

@end 

、その後

CustomLocation *loc; 
[loc initWithCoordinate:<#(CLLocationCoordinate2D)#> 
    altitude:<#(CLLocationDistance)#> 
    horizontalAccuracy:<#(CLLocationAccuracy)#> 
    verticalAccuracy:<#(CLLocationAccuracy)#> 
    course:<#(CLLocationDirection)#> 
    speed:<#(CLLocationSpeed)#> 
    timestamp:<#(nonnull NSDate *)#>]; 

loc.ImgDirectionRef = 123; // your value here 
// set extra values here 
関連する問題