4

目前我正在「保存的照片相冊」中使用以下方法進行保存和圖像。如何在uiimagepickercontroller中用圖像寫入/獲取緯度經度?

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

現在我想將當前的經度和緯度與該圖像關聯起來。

我該怎麼做?

我可以使用它的mediaInfo字典(元數據)。

我正在ios sdk 3.0中工作。

請告訴我如何獲得/設置地理數據與圖像中UIImageViewPickerController

回答

1

恐怕也沒有辦法爲你使用UIImageWriteToSavedPhotosAlbum做。

但是,您可以使用另一種方法保存到iPhone文件系統(但不能保存在「保存的照片相冊」中)。然後保存它的元數據中的另一個文本文件,與圖像路徑去:

對於PNG:

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

對於JPG:

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

但在這種情況下,我將無法得到標準uiimagepickerviewcontrollersavedphotosalbum的形象,我必須讓我的我自己的瀏覽器,你的情況我已經看到了蘋果的示例代碼的photolocations應用程序,做同樣的事情。 – harshalb 2010-09-23 13:21:19

+1

是的,我知道。但是,似乎沒有其他的方式還:( – vodkhang 2010-09-23 13:29:29

2

AFAIK這在IOS 4.0,下不支持。

隨着iOS 4.1的,你可以使用-[ALAssetsLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock:]保存元數據的圖像(未經測試,但我認爲這應該工作)。不過,我不知道如何格式化metadata字典。

您應該嘗試從資產庫中讀取一些包含地理數據的現有圖像,以檢查字典必須如何格式化。

+1

我希望能有一個相應的一個與視頻元數據也許4.2 – 2010-09-23 14:41:47

+0

請問這樣:?HTTP://stackoverflow.com/questions/1238838/uiimagepickercontroller-and-extracting-exif-數據從現有-照片工作嗎?或者可以拒絕? – harshalb 2010-09-24 06:45:29

0

你不能從圖像獲取經緯度來自uiimagepickercontroller。它似乎蘋果條紋exif標籤(我猜出於隱私的原因)。

+1

看到上面的回答是在4.1 – harshalb 2010-09-23 13:41:56

+0

葉可能的,但4.1是太年輕了部署IMO – RolandasR 2010-09-23 15:47:54

+0

是的,但你仍然可以支持它只是爲那些在4.1 ... – 2010-09-29 06:26:35

1

如果您從Camera獲取圖像,則應從CLLocationManager獲取位置。如果你選擇從庫中的圖像,你可以閱讀的位置使用ALAssertsLibrary座標:

iPhone Get UIImagePickerController Lat/Lng

之後,你有位置,你應該能夠使用EXIF庫中的數據和圖像一起保存。

+0

的問題,這是拿照片並觸摸「使用照片」之間,手機的位置可以改變。因此,我們無法可靠地確定拍攝照片時手機的位置。 – 2014-09-08 19:06:58