4

Actuellement, je sauvegarde et l'image avec la méthode suivante dans "album photos sauvegardées".Comment écrire/obtenir la longitude de latitude avec l'image dans uiimagepickercontroller?

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

Maintenant je veux associer la latitude et la longitude actuelles à cette image.

Comment puis-je le faire? Est-ce que je peux avec son dictionnaire mediaInfo (métadonnées)

Je travaille dans ios sdk 3.0.

S'il vous plaît me dire comment obtenir/ensemble de données géo avec une image dans UIImageViewPickerController

Répondre

1

Je crains qu'il n'y a aucun moyen pour vous de le faire en utilisant UIImageWriteToSavedPhotosAlbum. Cependant, vous pouvez utiliser une autre méthode pour enregistrer dans le système de fichiers de l'iPhone (mais pas dans "Album de photos sauvegardées"). Ensuite, vous enregistrez les métadonnées dans un autre fichier texte, va avec le chemin de l'image:

Pour PNG:

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

Pour JPG:

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

Mais dans ce cas, je ne serai pas en mesure d'obtenir cette image de standard uiimagepickerviewcontrollersavedphotosalbum et je dois faire mon propre navigateur dans votre cas, j'ai vu l'application photolocations dans le code d'échantillon Apple qui fait la même chose. – harshalb

+1

ouais, je sais. Mais il semble y avoir pas d'autres moyens pour le moment :( – vodkhang

2

AFAIK ce n'est pas pris en charge dans iOS 4.0 et inférieur . Depuis iOS 4.1, vous pouvez utiliser -[ALAssetsLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock:] pour enregistrer des images avec des métadonnées (non testé mais je suppose que cela devrait fonctionner). Je ne sais pas comment formater le dictionnaire metadata, cependant.

Vous devriez essayer de lire certaines images existantes contenant des géodonnées de la bibliothèque de ressources pour vérifier comment le dictionnaire doit être formaté.

+1

J'aurais aimé qu'il y en ait un correspondant avec des métadonnées pour les vidéos Peut-être que 4.2? –

+0

Will this: http: //stackoverflow.com/questions/1238838/uiimagepickercontroller-and-extracting-exif- données-de-existantes-photos fonctionnent? ou peuvent être rejetés? – harshalb

0

vous ne pouvez pas obtenir la latitude et la longitude de l'image ce qui vient de uiimagepickercontroller. Il semble que les étiquettes exif de striping d'Apple (je devine pour des raisons de confidentialité).

+1

voir la réponse ci-dessus, il est possible dans 4.1 – harshalb

+0

yeh, mais 4.1 est trop jeune pour le déploiement – RolandasR

+0

oui, mais vous pouvez toujours le soutenir juste pour ceux qui sont sur 4.1 ... –

1

Si vous obtenez l'image de la caméra, vous devez obtenir l'emplacement à partir de CLLocationManager. Si vous choisissez l'image de la bibliothèque, vous pouvez lire l'emplacement coordonnées à l'aide ALAssertsLibrary:

iPhone Get UIImagePickerController Lat/Lng

Une fois que vous avez l'emplacement, vous devriez être en mesure d'utiliser la bibliothèque exif pour enregistrer les données avec l'image.

+0

Le problème avec ceci est qu'entre prendre la photo et toucher "Utiliser la photo", l'emplacement du téléphone peut changer.Nous ne pouvons donc pas déterminer de manière fiable l'emplacement du téléphone au moment où la photo a été prise par cette méthode. –