class Geokit::Geocoders::UsGeocoder
Private Class Methods
do_geocode(address, _=nil)
click to toggle source
# File lib/geokit/geocoders/us_geocoder.rb, line 11 def self.do_geocode(address, _=nil) process :csv, submit_url(address) end
parse_csv(array)
click to toggle source
# File lib/geokit/geocoders/us_geocoder.rb, line 22 def self.parse_csv(array) loc = GeoLoc.new if array.length == 5 loc.lat, loc.lng, loc.city, loc.state, loc.zip = array loc.country_code = 'US' loc.success = true elsif array.length == 6 loc.lat, loc.lng, loc.street_address, loc.city, loc.state, loc.zip = array loc.country_code = 'US' loc.success = true end loc end
submit_url(address)
click to toggle source
# File lib/geokit/geocoders/us_geocoder.rb, line 15 def self.submit_url(address) address_str = address.is_a?(GeoLoc) ? address.to_geocodeable_s : address query = (address_str =~ /^\d{5}(?:-\d{4})?$/ ? 'zip' : 'address') + "=#{Geokit::Inflector.url_escape(address_str)}" base = key ? "http://#{key}@geocoder.us/member" : 'http://geocoder.us' "#{base}/service/csv/geocode?#{query}" end