I think that you get different results, because you do not notice the aspect of time. GPS uses a lot of batteries and only starts on command.
HTML5 getCurrentPosition takes a snapshot of the coordinates before GPS can accurately "enter the zone" at your position. On the other hand, the Google Maps application starts and then monitors your position, accuracy increases over time (you all know how the marker moves). HTML5 also supports this position view function.
Side Note! In my experience with the iPhone, the device will actually retain your position for a while, which means that if I run Google Maps and let it "enter the zone" in my place, close it and THEN start my webapp and use getCurrentPosition, which I I get an equally accurate reading.
Accuracy is letting GPS do the trick.
jenswirf
source share