Как написать / получить широту долготы с изображением в uiimagepickercontroller? - PullRequest
4 голосов
/ 23 сентября 2010

В настоящее время я сохраняю и изображение с помощью следующего метода в «Альбом сохраненных фотографий».

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

Теперь я хочу связать текущую широту и долготу с этим изображением.

Какя могу сделать это?

Могу ли я использовать его словарь mediaInfo (метаданные).

Я работаю в IOS SDK 3.0.

Скажите, пожалуйста, как получить / установитьгеоданные с изображением в UIImageViewPickerController

Ответы [ 4 ]

2 голосов
/ 23 сентября 2010

AFAIK это не поддерживается в iOS 4.0 и ниже.

Начиная с iOS 4.1, вы можете использовать -[ALAssetsLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock:] для сохранения изображений с метаданными (не проверено, но я предполагаю, что это должно работать). Хотя я не знаю, как отформатировать словарь metadata.

Вы должны попытаться прочитать некоторые существующие изображения, содержащие геоданные, из библиотеки ресурсов, чтобы проверить, как должен быть отформатирован словарь.

1 голос
/ 23 июня 2011

Если вы получаете изображение с камеры, вы должны получить местоположение из CLLocationManager. Если вы выберете изображение из библиотеки, вы можете прочитать координаты местоположения, используя ALAssertsLibrary:

iPhone Получить UIImagePickerController Lat / Lng

После определения местоположения вы сможете использовать библиотеку exif для сохранения данных с изображением.

1 голос
/ 23 сентября 2010

Боюсь, что вы не сможете использовать UIImageWriteToSavedPhotosAlbum.

Однако вы можете использовать другой метод для сохранения в файловой системе iphone (но не в «альбоме сохраненных фотографий»).Затем вы сохраняете его метаданные в другом текстовом файле, используя путь к изображению:

Для PNG:

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

Для JPG:

[UIImageJPEGRepresentation(image, 1.0) writeToFile:jpgPath atomically:YES];
0 голосов
/ 23 сентября 2010

вы не можете получить широту и долготу из изображения, полученного от uiimagepickercontroller.Кажется, яблоко чередует теги exif (я думаю, из соображений конфиденциальности).

...