Geocoding Goodness
Eric Hodel | Tue, 13 Jun 2006 22:01:00 GMT
I've implemented ruby bindings for the three major geocoding APIs as gems:
| API | gem name |
|---|---|
| Yahoo! | yahoo-geocode |
| google-geocode | |
| geocoder.us | geocoder-us |
And as a bonus, you get a Yahoo! search gem to search either the web or for locations, yahoo-search.
The bindings all have similar APIs, but return different objects depending upon what information the API reliably provides. Yahoo! gives the most information, followed by Google, followed by geocoder.us.
Yahoo!
require 'rubygems'
require 'yahoo/geocode'
yg = Yahoo::Geocode.new application_id
locations = yg.locate '701 First Street, Sunnyvale, CA'
p location.first.coordinates
(and searching for locations)
require 'rubygems'
require 'yahoo/local_search'
yls = Yahoo::LocalSearch.new application_id
results, = yls.locate 'pizza', 94306, 2
results.each do |location|
puts "#{location.title} at #{location.address}, #{location.city}"
end
require 'rubygems'
require 'google_geocode'
gg = GoogleGeocode.new application_id
location = gg.locate '1600 Amphitheater Pkwy, Mountain View, CA'
p location.coordinates
geocoder.us
documentationrequire 'rubygems'
require 'geocoder_us'
gu = GeocoderUs.new 'username', 'password'
p gu.locate('1924 E Denny Way, Seattle, WA')
2 comments
Comments are disabled


Articles