Sha256: 1bf163afaf08c00d094999b67617979f6c7851100812a4ac6594c08cf5ad3e96
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
require 'geocoder2/lookups/base' require "geocoder2/results/geocoder_ca" module Geocoder2::Lookup class GeocoderCa < Base def name "Geocoder.ca" end def query_url(query) "#{protocol}://geocoder.ca/?" + url_query_string(query) end private # --------------------------------------------------------------- def results(query) return [] unless doc = fetch_data(query) if doc['error'].nil? return [doc] elsif doc['error']['code'] == "005" # "Postal Code is not in the proper Format" => no results, just shut up else warn "Geocoder2.ca service error: #{doc['error']['code']} (#{doc['error']['description']})." end return [] end def query_url_params(query) params = { :geoit => "xml", :jsonp => 1, :callback => "test", :auth => configuration.api_key }.merge(super) if query.reverse_geocode? lat,lon = query.coordinates params[:latt] = lat params[:longt] = lon params[:corner] = 1 params[:reverse] = 1 else params[:locate] = query.sanitized_text params[:showpostal] = 1 end params end def parse_raw_data(raw_data) super raw_data[/^test\((.*)\)\;\s*$/, 1] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
geocoder2-0.1.1 | lib/geocoder2/lookups/geocoder_ca.rb |
geocoder2-0.1.0 | lib/geocoder2/lookups/geocoder_ca.rb |