2014-11-05 28 views
0

一般圖片可以很好地顯示信息。 但是在應用過濾器的圖片上沒有gps信息。 有沒有辦法解決?從照片中獲取GPS meta

- (void)getGPSLocation : (ALAsset*)asset 
{ 
    NSMutableDictionary *imageMetadata = nil; 
    NSDictionary *metadata = asset.defaultRepresentation.metadata; 
    imageMetadata = [[NSMutableDictionary alloc] initWithDictionary:metadata]; 

    latitude = [[[imageMetadata objectForKey:@"{GPS}"]objectForKey:@"Latitude"]doubleValue]; 
    longitude = [[[imageMetadata objectForKey:@"{GPS}"]objectForKey:@"Longitude"]doubleValue]; 

    CLGeocoder *ceo = [[CLGeocoder alloc]init]; 
    CLLocation *loc = [[CLLocation alloc]initWithLatitude:latitude longitude:longitude]; //insert your coordinates 

    addr = [NSString alloc]; 

    [ceo reverseGeocodeLocation: loc completionHandler: 
    ^(NSArray *placemarks, NSError *error) { 

     CLPlacemark *placemark = [placemarks objectAtIndex:0]; 

     NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; 

     NSLog(@"I am currently at %@",locatedAt); 
     addr = locatedAt; 
     //   [_address setText:locatedAt]; 
     //   [self setPin:latitude longitude:longitude addr:addr]; 
    }]; 
} 
+0

我從你的問題中瞭解到,你正在嘗試使用沒有附加位置數據的圖像,對吧? – Abdul91 2014-11-05 06:09:31

+0

準確。如果使用過濾器在基本相機應用程序中拍攝照片。 – realmasse 2014-11-05 07:04:58

+0

你可能已經嘗試過,但只是爲了確認,你是否嘗試過沒有任何過濾器的圖像相同的代碼,並確保相機的位置服務在設備設置中?設置 - >隱私 - >位置服務 – Abdul91 2014-11-05 07:22:22

回答

0
CLLocation *location = [asset valueForProperty:ALAssetPropertyLocation]; 

latitude = (double)location.coordinate.latitude; 
longitude = (double)location.coordinate.longitude; 

解決。