class Geokit::Geocoders::GeocodioGeocoder
Private Class Methods
create_new_loc(json)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 35 def self.create_new_loc(json) loc = new_loc set_address_components(json, loc) set_coordinates(json, loc) loc end
do_geocode(address)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 8 def self.do_geocode(address) process :json, submit_url(address) end
parse_json(json)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 21 def self.parse_json(json) loc = nil json["results"].each do |address| if loc.nil? loc = create_new_loc(address) else loc.all.push(create_new_loc(address)) end end loc.success = true loc end
set_address_components(json, loc)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 42 def self.set_address_components(json, loc) loc.street_address = json["address_components"]["street"] loc.street_number = json["address_components"]["number"] loc.sub_premise = json["address_components"]["suffix"] loc.street_name = json["address_components"]["street"] loc.city = json["address_components"]["city"] loc.state = json["address_components"]["state"] loc.zip = json["address_components"]["zip"] loc.full_address = json["formatted_address"] end
set_coordinates(json, loc)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 53 def self.set_coordinates(json, loc) loc.lat = json["location"]["lat"] loc.lng = json["location"]["lng"] end
submit_url(address)
click to toggle source
# File lib/geokit/geocoders/geocodio.rb, line 12 def self.submit_url(address) params = [ "q=#{Geokit::Inflector.url_escape(address)}", "api_key=#{key}", ].join("&") ["http://api.geocod.io/v1/geocode", params].join("?") end