Okay I've got a version that works with iPhone, Firefox 3.5, Chrome and the Android browser. A bit primitive, but it works. I've used jQuery because it's what I'm used to using (and it's awesome) and that geolocation shim that's supposed to make the Gears geolocation work in the standard way ( http://ajaxian.com/archives/navigatorgeolocation-using-the-w3c-geolocation-a... )
http://www.rumble.net/stuff/search.html
That shimdoesn't work properly though. For Android/Gears it returns .latitude or .longitude, while the standard is for .coords.latitude etc.
Will tidy up shortly but just want to demonstrate, and hopefully Android will support the standard in the next release, instead of this Gears weirdness.