I have been working with the Ext.util.Geolocation but am having problems with accuracy. I have noted the following behaviour.
When I call for a location on iPhone (3G) and iPad (v1) I get a one with around 1.3km accuracy. Basically it places me at one of two spots about 1km apart. If I switch to the native maps app then it places my position within 10m of where I am standing - that "wow it knows where I am" accuracy . Switch back to my web app and the first call to the GeoLocation returns similar accuracy. Any subsequent calls return the old in accurate positions.
I have tested this briefly on Android (Google's firt phone) and have similar behaviour.
My conclusion is that both iOS and Android only pass cell tower level location accuracy to the browser and do not ever use GPS - at least not in an urban environment. Is this a correct assumption? Should there be a warning in the GeoLocation docs to this effect?
I find it amazing that there are so many posts out there raving about location info in the browser yet when I try and use it I find it actually sucks. Maybe OK for finding your nearest Starbucks but not a lot else. I do hope I am doing something dumb.
--------- added later -----------
I have written a blog post on this that goes into a little more detail and links to my test application so you can check out the behaviour for yourself.