Sha256: 352658d4f575e75c32a999f72097ee81bea619da6d2d1385d678e66223d67557
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
require 'geocoder/lookups/base' require "geocoder/results/google" module Geocoder::Lookup class Google < Base def map_link_url(coordinates) "http://maps.google.com/maps?q=#{coordinates.join(',')}" end private # --------------------------------------------------------------- def results(query) return [] unless doc = fetch_data(query) case doc['status']; when "OK" # OK status implies >0 results return doc['results'] when "OVER_QUERY_LIMIT" raise_error(Geocoder::OverQueryLimitError) || warn("Google Geocoding API error: over query limit.") when "REQUEST_DENIED" raise_error(Geocoder::RequestDenied) || warn("Google Geocoding API error: request denied.") when "INVALID_REQUEST" raise_error(Geocoder::InvalidRequest) || warn("Google Geocoding API error: invalid request.") end return [] end def query_url_google_params(query) params = { (query.reverse_geocode? ? :latlng : :address) => query.sanitized_text, :sensor => "false", :language => Geocoder::Configuration.language } unless (bounds = query.options[:bounds]).nil? params[:bounds] = bounds.map{ |point| "%f,%f" % point }.join('|') end params end def query_url_params(query) super.merge(query_url_google_params(query)).merge( :key => Geocoder::Configuration.api_key ) end def query_url(query) "#{protocol}://maps.googleapis.com/maps/api/geocode/json?" + url_query_string(query) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
geocoder-1.1.5 | lib/geocoder/lookups/google.rb |
geocoder-1.1.4 | lib/geocoder/lookups/google.rb |