Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iPhone上对照片进行地理标记?_Iphone_Objective C_Cocoa Touch - Fatal编程技术网

在iPhone上对照片进行地理标记?

在iPhone上对照片进行地理标记?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,一个链接或一点代码将不胜感激 我有一个可以让用户拍照的应用程序。下面是我用来创建jpeg文件的代码 假设参数信息具有lat和lon,如何将地理标记添加到照片的EXIF数据 - (void) saveImage:(NSDictionary*) info { NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *filePath = [self applicationDocumentsDirector

一个链接或一点代码将不胜感激

我有一个可以让用户拍照的应用程序。下面是我用来创建jpeg文件的代码

假设参数信息具有lat和lon,如何将地理标记添加到照片的EXIF数据

- (void) saveImage:(NSDictionary*) info {

  NSFileManager *fileManager = [NSFileManager defaultManager];

  NSString *filePath = [self applicationDocumentsDirectory] 
    stringByAppendingString: @"/photos/"];
  [fileManager createDirectoryAtPath: filePath withIntermediateDirectories: NO attributes: nil error: nil];

  filePath = [filePath stringByAppendingString: [info objectForKey: @"title"]];
  filePath = [filePath stringByAppendingString: @".jpg"];
  [fileManager createFileAtPath:filePath contents:nil attributes:nil];  
  NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];

  NSData * imgData = [[NSData alloc] initWithData: 
    UIImageJPEGRepresentation([info objectForKey: @"image"],.8)];

  [fileHandle writeData:imgData];
  [fileHandle closeFile];   
  [imgData release];

}

iPhone照片在JPEG EXIF中自动进行地理标记

iPhone照片在JPEG EXIF中自动进行地理标记

iPhone当前不提供可在Mac上用于此操作的ImageIO库。看看这个项目,它可能会提供你所需要的

另外,如果可以的话,请给我一些关于代码的注释

  • 在处理路径时,您应该使用NSString使您的意图更加清晰
  • UIImageJPEGRepresentation已返回自动删除的NSData实例。对于初学者来说,这是一个常见的错误,但是通过使用旧的NSData实例创建新的NSData实例,您正在浪费代码并增加额外的内存管理工作
  • NSData有一个方法-writeToFile:options:error:可以让您摆脱所有额外的NSFileHandle代码。我认为它还将使您不必首先使用NSFileManager创建文件
  • 或者,您可以将UIImageJPEGRepresentation中的数据传递到-[NSFileManager createFileAtPath:contents:attributes:]的contents参数中

iPhone目前不提供可在Mac上使用的ImageIO库。看看这个项目,它可能会提供你所需要的

另外,如果可以的话,请给我一些关于代码的注释

  • 在处理路径时,您应该使用NSString使您的意图更加清晰
  • UIImageJPEGRepresentation已返回自动删除的NSData实例。对于初学者来说,这是一个常见的错误,但是通过使用旧的NSData实例创建新的NSData实例,您正在浪费代码并增加额外的内存管理工作
  • NSData有一个方法-writeToFile:options:error:可以让您摆脱所有额外的NSFileHandle代码。我认为它还将使您不必首先使用NSFileManager创建文件
  • 或者,您可以将UIImageJPEGRepresentation中的数据传递到-[NSFileManager createFileAtPath:contents:attributes:]的contents参数中

iPhone摄像头不是为您做这件事吗?我所有的照片都通过Flickr发送,位置数据已经填充好了……你可能是想用不是在iPhone上拍摄的照片(图书馆照片)来做这件事吗?iPhone摄像头不是为你做的吗?我所有的照片都通过Flickr发送,并且已经填充了位置数据……您是否可能尝试使用未在iPhone上拍摄的照片(图书馆照片)执行此操作?