Following on from my last post which described my consolidated.db location database:
My guess? Wifi-positioning.
When we were on the cruise last year (on the Independence of the Seas) and connected to the WiFi on board, every time we launched maps, it would show us a location somewhere near Florida/the Caribbean. I think that’s where the WiFi access point had last been surveyed by whatever lookup was being used. So while connected, we must be where the database said we were.
As access points are now more mobile (there were hundreds of them in the WWDC keynote hall last summer), WiFi positioning is likely going to be quite accurate but have a few outliers like this as you are triangulating on a WiFi access point which was surveyed (by chance) in a different place. Normally there will be enough access points to correct for this error but not on a ship in the middle of the Mediterranean.
Likewise, if your phone has connected to a very weak signal on a distant, elevated cell tower, it may use that for positioning rather than more local sources. It does happen, just infrequently.
Plus – this only records position when you ask it to record position. On my iPhone, that’s a constant thing. On others, it may only get accessed when launching maps. And, of course, you can turn Location Services off.