从相机照片元数据中获取GPS数据

时间:2011-08-31 12:08:32

标签: objective-c gps

我在UIImagePickerController的帮助下为我的应用程序获取了一张照片。是否可以从代理中获取Geo数据:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

这是信息词典,是否可以从中获取Geo标签?

2 个答案:

答案 0 :(得分:1)

使用EXIF库http://code.google.com/p/iphone-exif/

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    NSData* jpegData = UIImageJPEGRepresentation (image,0.5);
    EXFJpeg* jpegScanner = [[EXFJpeg alloc] init];
    [jpegScanner scanImageData: jpegData];
    EXFMetaData* exifData = jpegScanner.exifMetaData;
    EXFTag* latitudeDef = [exifData tagDefinition: [NSNumber numberWithInt:EXIF_GPSLatitude]];
    EXFTag* longitudeDef = [exifData tagDefinition: [NSNumber numberWithInt:EXIF_GPSLongitude]];
...}

问题:UIImagePickerController and extracting EXIF data from existing photos

答案 1 :(得分:0)

直到并包括iOS 5.1.1,UIImagePickerController不会将GPS位置数据添加到使用它拍摄的照片中。 Camera应用程序的位置服务设置无关紧要,只控制该应用程序而不是UIImagePickerController。

您需要使用CLLocation类来获取位置,然后将其添加到使用UIImagePickerController拍摄的任何图像和视频中。