New : Try the demo on a map with the leaflet plugin
The GEOLOC webservice is totally FREE and allow to find a place or POI and the distance from a GPS coordinate via a REST webservice. Gisgraphy also offers Premium hosted services and consulting.
It uses (free) data from Geonames that are imported into a local database.
You can see an example of use bellow. You can find documentation on how to use the XML API of the webservice and see how to download and install Gisgraphy.
You can use this interface to call the webservice and see the output.