The iPhone supports geolocation in mobile Safari via the following call:
navigator.geolocation.getCurrentPosition( function(pos){ var lat = pos.coords.
I know this is an old question, but you'll find a list of devices that support geolocation here: http://www.quirksmode.org/webkit.html. This list is being maintained by the site author so it should stay up to date.