I have the same problem and have a few observations. I have a 4s 16gb. Location was very accurate until 14 dec, when it put me in China and occasionally in Texas, I was in the south of England. The location was shown as very stable. I was inside and in a location where traditional gps would not work and I had no 3G coverage and no active wifi, so it appears that the location was being calculated by using the Edge/GPRS triangulation method. When I moved outside and used a mapping app that allowed me to switch on the gps the phone correctly gave my position, but it took a few minutes to gain the position, this is understandable as the gps can be confused if it thinks it is in a different part of the world. I then set up my iPad wifi only model, and connected this by tethering it to an other mobile (n97 mini) to the 3 mobile network, this gave me the right position, I then connected the iPhone to the same mobile and it continued to give the wrong location. I conclude that the iPhone prefers to use the edge/GPRS triangulation. Where I get 3g the location is correct. So it appears that the issue is the GPRS/edge system that is causing the problem. Having read through the posts here I see that a lot users with this gross error are on the O2 network, which I am on as well. I suspect that problem may because of a software change in either the O2 or apple's system about 3 days ago. I have passed this onto apple through the issues reporting portal. Hope this helps.