iPhone - доступ к информации о местоположении из фотографии
Можно ли в приложении для iPhone извлечь информацию о местоположении (я думаю, она называется геокодом) из фотографии, сделанной камерой iPhone?
Если для этого нет вызова API, существует ли какой-либо известный способ анализа байтов данных для извлечения информации? Что-то, что я могу сделать самостоятельно?
2 ответа
К сожалению нет.
Проблема в этом;
Файл в формате JPEG состоит из нескольких частей. Для этого вопроса нас интересуют данные изображений и данные exif. Данные изображения - это изображение, а данные exif - это то, где хранятся такие вещи, как геокодирование, выдержка, тип камеры и т. Д.
UIImage (и CGImage) содержат только данные изображения, без тегов.
Когда средство выбора изображений выбирает изображение (из библиотеки или с камеры), оно возвращает UIImage, а не JPEG. Этот UIImage создается из данных изображения jpeg, но данные exif в jpeg отбрасываются.
Это означает, что эти данные вообще не находятся в UIImage и, следовательно, недоступны.
Я думаю, что выбранный ответ неверен, на самом деле. Ну, не так. Все, что он сказал, правильно, но есть способ обойти это ограничение.
UIImagePickerController
передает словарь вместе с UIImage
это возвращается. Один из ключей UIImagePickerControllerMediaURL
который является "URL файловой системы для фильма". Однако, как отмечалось здесь, в более новых версиях iOS он также возвращает URL для изображений. Соедините это с библиотекой exif, упомянутой @Jasper, и вы сможете извлечь геотеги из фотографий.
Я не пробовал этот метод, но, как упомянул @tomtaylor, это должно быть как-то возможно, так как есть несколько приложений, которые делают это. (например, лаборатория).