Scientists tracked a nightingale from the UK to africa. They didn't use a gps, but a clock, recorder and light sensor.
It got me intrigued, and its interesting reverse engineering the approach.
You need to determine two things. Latititude and longitude.
Latitude is relatively easy. For a given day of the year, if the day length is 13 hours, then that corresponds to a given latitude. So if you record regular samples of light intensity, you can fit a curve to it, and from the curve workout sunrise and sunset. Hence latitude.
Longitude is slightly different. There is a line corresponding to sunrise on a given day.http://www.daylightmap.com/index.php
is a map. for sunrise at a given time you have to be on a given line.
An alternative for the day length approach is to say, when was sunset, I must be along the other line.
Given the assumption in both cases that you haven't move locations large distances, you can locate yourself using the intersection.
All in all, rather clever.
Interestly, its a feature of some forms of tracking. You need to know where you have been (past tense) and not where you are in real time. ie. You can track a package when its received, but not all the time.
There is a variant on this that was relevant for GPS. GPS used to push out a deliberate wobble. However, for GPS close to each other, the wobble is the same. Differential GPS broadcast the wobble from a fixed GPS. It's movement is the wobble. The mobile GPS then adjusts.
You don't need to do this in realtime. You can always adjust latter if your requirement is for historical tracking, not real time positioning