iPhone - informações de localização de acesso de uma foto
-
03-07-2019 - |
Pergunta
É possível, em um aplicativo para iPhone, para extrair informações de localização (geocódigo, suponho que é chamado) a partir de uma foto tirada com a câmera do iPhone?
Se não houver nenhuma chamada de API para fazê-lo, há alguma maneira conhecida para analisar os bytes de dados para extrair as informações? Algo que pode rolar em meu próprio?
Solução
Infelizmente não.
O problema é assim;
A jpeg arquivo consiste em várias partes. Para esta pergunta os que estamos interessados ??são os dados de imagem e os dados EXIF. Os dados de imagem é a imagem e os dados EXIF ??são onde coisas como geocodificação, velocidade do obturador, tipo de câmera e assim por diante são armazenados.
A UIImage (e CGImage) contém apenas dados de imagem, há tags.
Quando o seletor de imagem seleciona uma imagem (a partir da biblioteca ou a câmera) ele retorna um UIImage, não um jpeg. Este UIImage é criado a partir dos dados de imagem jpeg, mas os dados EXIF ??no jpeg é descartado.
Isto significa esses dados não está no UIImage em tudo e, portanto, não está acessível.
Outras dicas
Eu acho que a resposta selecionada está errado, na verdade. Bem, não é errado. Tudo o que disse é correto, mas há uma maneira de contornar essa limitação.
UIImagePickerController
passa um dicionário, juntamente com o UIImage
ele retorna. Uma das chaves é UIImagePickerControllerMediaURL
que é "a URL do sistema de arquivos para o filme". No entanto, como observou aqui em versões mais recentes do iOS ele retorna um URL para imagens também. Casal que, com a exif biblioteca mencionado por @Jasper e você pode ser capaz de puxar geotags a partir de fotografias.
Eu não tentei este método, mas como @tomtaylor mencionado, isso tem que ser possível de alguma forma, uma vez que existem alguns aplicativos que fazem isso. (Por exemplo Lab ).