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, GeocodioGeocoder, GeonamesGeocoder, GoogleGeocoder, MapQuestGeocoder, MapboxGeocoder, MaxmindGeocoder, MultiGeocoder, OSMGeocoder, OpencageGeocoder, 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.
87 88 89 90 91 92 93 94 95 96 |
# File 'lib/geokit/geocoders.rb', line 87 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 => e logger.error "Caught an error during #{provider_name} geocoding call: #{$!}" logger.error e.backtrace.join("\n") 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.
100 101 102 103 |
# File 'lib/geokit/geocoders.rb', line 100 def self.reverse_geocode(latlng, *args) logger.debug "#{provider_name} geocoding. latlng: #{latlng}, args #{args}" do_reverse_geocode(latlng, *args) || GeoLoc.new end |