trabajo-afectivo/lib/geo_location/gmaps.rb

32 lines
955 B
Ruby
Raw Normal View History

2013-08-17 21:48:48 +00:00
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
class GeoLocation::Gmaps
2012-04-29 20:47:35 +00:00
def self.geocode(address)
url = "http://maps.googleapis.com/maps/api/geocode/json?address=#{CGI::escape address}&sensor=true"
response = UserAgent.request(url)
return if !response.success?
2012-04-29 20:47:35 +00:00
result = JSON.parse( response.body )
2014-06-01 08:31:28 +00:00
return if !result
return if !result['results']
return if !result['results'].first
2012-04-29 20:47:35 +00:00
lat = result['results'].first['geometry']['location']['lat']
lng = result['results'].first['geometry']['location']['lng']
latlng = [lat,lng]
end
2012-04-29 20:47:35 +00:00
def self.reverse_geocode(lat,lng)
url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=#{lat},#{lng}&sensor=true"
response = UserAgent.request(url)
return if !response.success?
2012-04-29 20:47:35 +00:00
result = JSON.parse( response.body )
2012-04-29 20:47:35 +00:00
address = result['results'].first['address_components'].first['long_name']
return address
end
end