class Geokit::Geocoders::CaGeocoder
Private Class Methods
do_geocode(loc)
click to toggle source
Template method which does the geocode lookup.
# File lib/geokit/geocoders/ca_geocoder.rb, line 20 def self.do_geocode(loc) process :xml, submit_url(loc), GeoLoc.new end
parse_xml(xml, loc)
click to toggle source
# File lib/geokit/geocoders/ca_geocoder.rb, line 24 def self.parse_xml(xml, loc) loc.lat = xml.elements["//latt"].text loc.lng = xml.elements["//longt"].text loc.city = xml.elements["//city"].text loc.street_number = xml.elements["//stnumber"].text loc.street_address = xml.elements["//staddress"].text loc.state = xml.elements["//prov"].text loc.province = xml.elements["//prov"].text loc.zip = xml.elements["//postal"].text loc.success = true loc end
submit_url(loc)
click to toggle source
Formats the request in the format acceptable by the CA geocoder.
# File lib/geokit/geocoders/ca_geocoder.rb, line 38 def self.submit_url(loc) args = ["locate=#{Geokit::Inflector.url_escape(loc)}"] args << "auth=#{key}" if key args << "geoit=xml" "http://geocoder.ca/?" + args.join("&") end