Is there a Flutter plugin to Strip/Modify EXIF data from photos, such as GPS coordinates? - flutter

I've seen a few plugins that allow you to read this data, but nothing to write/remove it.
I know in Android there is a way to do this with the support lib (https://developer.android.com/reference/android/support/media/ExifInterface.html#saveAttributes())
And there appears to be several examples for Modifying EXIF data on iOS.
But I don't see this in any image or standalone plugins that handle this for flutter.
This all seems a bit strange, since there are several example Flutter Photo Sharing apps using Firebase storage and such. But none, that I've seen, are removing any of this data.

You can use flutter_image_compress to strip the Exif (you can optionally maintain it). But I could not find any solution to edit Exif with Flutter.

Related

How can I handle multiple formats in a video player used in my flutter application for android/ios?

The backend api sends a link url to the video that can be used in the video player's source. But the issue is, the source can vary from m4v, mp4 and other potential formats. I want to support the major formats, if not all, in the app.
Backend is in Django. I am open to modify the api code as well.
If the video formats need conversion, suggest the fastest way with an ETA for a ~100MB file.
Tried video_player plugin from pub.dev. At worse, I am thinking of integrating flutter_ffmpeg but I don't want users to wait and ruin their UX.

Download UI contents from a URL in flutter

I am building a flutter app that will contain a lot of animated pictures and 3d objects. Many of those animations will be choosen based on the user choice of gender when registering for the first time. So one of the issues with flutter is that it normally takes a lot of storage and with this animations its gonna need even more storage. So I was wondering if there is a way to keep those animations online in some cloud or in firestore DB and then when the user register for the first time I download it and assign it to the UI to be permenantly there instead of like storing all these Gifs in the assets.
Any suggestiong to avoid storing all of the animations and images in the assets.
Since you said you have lots of images, I would suggest you use a dedicated server to store your images.
If you haven't any dedicated server, then you should use firebase to store your images.
You should follow this link to fetch images from firebase.
Also, you should follow this link to store your images in the cache & in the future fetch from the cache easily.

What is the difference between image_picker plugin and the file_picker plugin

can someone please explain the difference in these plugins and what are the advantages of using each and whether they do the same work or maybe they each do a completely different task
Short Answer: Always use image picker if you want to get images from the user. Otherwise, use file_picker.
Long Answer:
Both image picker and file picker open another app that returns an image/file that the user picked.
The advantage of image_picker over file picker is that the user gets to use their installed gallery app to pick images. This is a familiar environment to the user and is generally a lot easier to use than the generally more unfamiliar file explorer on android.
The disadvantage on the other hand is that it only works for images.
So, always use image picker if you want to get images from the user. Otherwise, use file_picker.
There is a main difference on iOS devices, file picker will redirect you to the files app, while image picker will redirect you to the gallery.
In iOS, and unlike android, Images and files exist in two completely different places, so depending on what you want to fetch you need to use the right package

Using OpenStreetMap on iPhone offline

I am working on an iPhone app. project and my group is trying to use the OpenStreetMap offline.
I have been Googling for tutorials but can't find any decent tutorials. Can any of you guys help me out and give me a link for good tutorial?
We need to be able to access the map offline. Right now I have downloaded the map image tiles for my city and put it into the database file and it runs on the iPhone simulator but I want to be able to "limit" the user view because you could scroll out of bounds and you can see the grey area where no tiles were downloaded.
Other features I need to know how to edit is adding a marker (for example, I want to include a bus stop on the map when you open the app on iPhone)
Any help would be appreciated guys
Thanks!
I build an app which also uses OpenStreetMap. I used route-me library for it. By default, if you do no configuration, it fetches its tiles from the internet and then caches the most recently retrieved tiles in a database in your documents directory.
The code is readable and not too big. I had to draw to layers instead of one, so i overrode some classes (TileSource and Tile) and got it working with two layers.
I don't think it would be hard to adjust the tilecache to keep its contents permanently offline and to limit it to a specific area. By the way, route-me also knows some db formats as tile source. But I've never used them.
The wiki documentation on the github site tells you how to include route-me in your own project. I used the external link that pointed to how to do it in Xcode 4.
https://github.com/route-me/route-me

Does the iPhone 3G/3Gs camera put metadata in its images? (and how do you get it?)

I've been trying to figure how whether the iPhone (either 3G or 3Gs) camera puts metadata into it's images. Anecdotally, it appears that it does (e.g., I've seen images posted on the web that included a bunch of metadata), but I can't find reference to it anywhere in the SDK documentation. So....does anyone have a definitive answer? Also, if there is metadata, how do I get at it?
There is metadata. Check out the iphone-exif project, which provides you a means to get/set the EXIF tags. As they note, UIImage will strip out the metadata. iphone-exif works around this. It requires you to use the UIImageJPEGRepresentation() function to feed the NSData into a specialized scanner class, which they provide.
IIRC, the API hides that data out of privacy concerns. The data is in the images but you can't get to it using the Apple API.