Do you want GPS information on the canvas when needed or you need to store GPS information in the image file?
Or any other question?
You must store gps information in the image file.
There is an image metadata extension for extracting the exif data, which can include location information.
I see some trouble in your big text JOIN.
You don't include any kind of punctuation between numbers (SystemTime, lat, long) when you JOIN them. That loses track of where one number ends and the next begins. Add something like '|' between items to simplify extraction later.
Also, you are using TinyDB1.NameSpace as the tag when you save into TinyDB. Why?
NameSpace is the name of the XML file where TinyDB stores its data behind the scenes. It is typically used to separate content by category, like 'photos' vs 'contacts'. Tags are meant for single items if you are not using lists, so you need different tags for different items, unless you don't mind them overwriting each other.
Finally, what is the logic behind setting LocationSensor.Enabled to LocationSensor.HasLongitudeLatitude? I thought HasLongitudeLatitude tells you if the GPS got a fix yet and has numbers for you. So if you run this code before the GPS got a fix, it will turn off the GPS and never ever after wards have a location for you?