gmaps.rb 860 B

123456789101112131415161718192021222324252627
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. class GeoLocation::Gmaps
  3. def self.geocode(address)
  4. url = "http://maps.googleapis.com/maps/api/geocode/json?address=#{CGI::escape address}&sensor=true"
  5. response = UserAgent.request(url)
  6. return if !response.success?
  7. result = JSON.parse( response.body )
  8. lat = result['results'].first['geometry']['location']['lat']
  9. lng = result['results'].first['geometry']['location']['lng']
  10. latlng = [lat,lng]
  11. end
  12. def self.reverse_geocode(lat,lng)
  13. url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=#{lat},#{lng}&sensor=true"
  14. response = UserAgent.request(url)
  15. return if !response.success?
  16. result = JSON.parse( response.body )
  17. address = result['results'].first['address_components'].first['long_name']
  18. return address
  19. end
  20. end