Class: Geokit::Geocoders::Geocoder
Overview
The Geocoder base class which defines the interface to be used by all other geocoders.
Direct Known Subclasses
BaseIpGeocoder, BingGeocoder, CaGeocoder, FCCGeocoder, GeonamesGeocoder, GoogleGeocoder, MapQuestGeocoder, MaxmindGeocoder, MultiGeocoder, OSMGeocoder, UsGeocoder, YahooGeocoder, YandexGeocoder
Class Method Summary collapse
-
.geocode(address, *args) ⇒ Object
Main method which calls the do_geocode template method which subclasses are responsible for implementing.
-
.reverse_geocode(latlng, *args) ⇒ Object
Main method which calls the do_reverse_geocode template method which subclasses are responsible for implementing.
Class Method Details
.geocode(address, *args) ⇒ Object
Main method which calls the do_geocode template method which subclasses are responsible for implementing. Returns a populated GeoLoc or an empty one with a failed success code.
85 86 87 88 89 90 91 92 93 |
# File 'lib/geokit/geocoders.rb', line 85 def self.geocode(address, *args) logger.debug "#{provider_name} geocoding. address: #{address}, args #{args}" do_geocode(address, *args) || GeoLoc.new rescue TooManyQueriesError, GeocodeError raise rescue logger.error "Caught an error during #{provider_name} geocoding call: #{$!}" GeoLoc.new end |
.reverse_geocode(latlng, *args) ⇒ Object
Main method which calls the do_reverse_geocode template method which subclasses are responsible for implementing. Returns a populated GeoLoc or an empty one with a failed success code.
97 98 99 100 |
# File 'lib/geokit/geocoders.rb', line 97 def self.reverse_geocode(latlng, *args) logger.debug "#{provider_name} geocoding. latlng: #{latlng}, args #{args}" do_reverse_geocode(latlng, *args) || GeoLoc.new end |