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.
I am setting allowHighAccuracy=true and I have experimented with different age and time out durations to no effect. I have also tried calling the underlying JavaScript methods with apparently similar numbers so I don't believe it is the touch libraries - but would welcome your thoughts.
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.

http://www.hyam.net/blog/archives/1432

Enjoy!