如何在uiimagepickercontroller中使用图像编写/获取纬度经度?

时间:2010-09-23 12:51:39

标签: iphone iphone-sdk-3.0 geolocation uiimagepickercontroller

目前我在“已保存的相册”中使用以下方法保存并保存图像。

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

现在我想将当前纬度和经度与该图像相关联。

我该怎么办?

我可以使用其mediaInfo字典(元数据)。

我在ios sdk 3.0工作。

请告诉我如何使用UIImageViewPickerController

中的图片获取/设置地理数据

4 个答案:

答案 0 :(得分:2)

AFAIK在iOS 4.0及更低版本中不支持此功能。

从iOS 4.1开始,您可以使用-[ALAssetsLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock:]来保存带有元数据的图像(未经测试但我认为这应该可行)。不过,我不知道如何格式化metadata字典。

您应该尝试从资产库中读取包含地理数据的一些现有图像,以检查字典必须如何格式化。

答案 1 :(得分:1)

我担心你无法使用UIImageWriteToSavedPhotosAlbum。

但是,您可以使用其他方法保存到iphone文件系统中(但不能保存在“已保存的相册”中)。然后将其元数据保存在另一个文本文件中,使用图像路径:

对于PNG:

[UIImagePNGRepresentation(image) writeToFile: uniquePath atomically: YES];

对于JPG:

[UIImageJPEGRepresentation(image, 1.0) writeToFile:jpgPath atomically:YES];

答案 2 :(得分:1)

如果要从Camera获取图像,则应从CLLocationManager获取位置。如果从库中选择图像,则可以使用ALAssertsLibrary:

读取位置坐标

iPhone Get UIImagePickerController Lat/Lng

获得位置后,您应该可以使用exif库来保存带有图像的数据。

答案 3 :(得分:0)

你无法从图像中获得来自uiimagepickercontroller的经度和经度。似乎苹果条纹exif标签(我猜出是出于隐私原因)。