I\'m working on a job board in Codeigniter PHP + jQuery where employers enter their location and we use Google Maps API to plot it. While this has had awesome usability res
Reverse geocoding services (such as Google, Yahoo, and GeoNames) will work well for this purpose with a few caveats:
I run a web site that offers a number of commercial geographic web APIs, and sells the Java libraries that we built to back those APIs. One of them (which only has US coverage) uses a proper polygonal map of the cities and towns in the US to return the result that contains your query point. It is accurate and fast, so if this is a mission critical component in your system, I suggest taking a look at our web site:
http://askgeo.com
The page that is specific to looking up cities from lat/lon is:
http://askgeo.com/database/UsPlace2010