It adds a number of geocode-specific methods to ActiveRecord which
allow you to query records based on their proximity to a location
(e.g. @locations = Location.find(:all, :origin => @address, :within =>
@within, :order => 'distance')). It can also automatically geocode a
location upon create using either Google, Yahoo, or GeoNames. You
provide your API key and GeoKit handles the grunt work. Very handy
tool.
I second Geokit, I’ve used it in almost every application I’ve built. However, the main purpose of geokit is for getting the latitude and longitude of a location and then performing distance calculations between that location and other locations (such as finding all locations within a certain distance of another location).
If you want to do something such as list cities or counties, you’ll probably need to get something like a ‘location database’ and slice and dice it for your needs. Unfortunately they usually cost money.
An alternative solution to showing all the articles in the same county as a city would be to use geokit to show all the articles within a certain distance of a city. That could provide your users with a similar experience.