是否有可能在 iPhone 应用程序中从用 iPhone 相机拍摄的照片中提取位置信息(我想它被称为地理编码)?
如果没有 API 调用来做到这一点,是否有任何已知的方法来解析数据字节以提取信息?我可以自己滚动的东西?
是否有可能在 iPhone 应用程序中从用 iPhone 相机拍摄的照片中提取位置信息(我想它被称为地理编码)?
如果没有 API 调用来做到这一点,是否有任何已知的方法来解析数据字节以提取信息?我可以自己滚动的东西?
很不幸的是,不行。
问题是这样的;
一个 jpeg 文件由几个部分组成。对于这个问题,我们感兴趣的是图像数据和 exif 数据。图像数据是图片,exif 数据是存储地理编码、快门速度、相机类型等信息的地方。
UIImage(和 CGImage)只包含图像数据,没有标签。
当图像选择器选择图像(从库或相机中)时,它返回 UIImage,而不是 jpeg。这个 UIImage 是从 jpeg 图像数据创建的,但是 jpeg 中的 exif 数据被丢弃了。
这意味着这些数据根本不在 UIImage 中,因此无法访问。
实际上,我认为选择的答案是错误的。嗯,没有错。它所说的一切都是正确的,但是有办法绕过这个限制。
UIImagePickerController
传递一个字典以及UIImage
它返回。其中一个关键是UIImagePickerControllerMediaURL
“电影的文件系统 URL”。但是,正如这里在较新的 iOS 版本中所指出的,它也会返回图像的 url。将它与@Jasper 提到的exif 库结合起来,您也许可以从照片中提取地理标签。
我没有尝试过这种方法,但正如@tomtaylor 所提到的,这必须以某种方式成为可能,因为有一些应用程序可以做到这一点。(例如实验室)。