geo_location.rb 821 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. class GeoLocation
  3. include ApplicationLib
  4. =begin
  5. lookup lat and lng for address
  6. result = GeoLocation.geocode( 'Marienstrasse 13, 10117 Berlin' )
  7. returns
  8. result = [ 4.21312, 1.3123 ]
  9. =end
  10. def self.geocode(address)
  11. # load backend
  12. backend = self.load_adapter_by_setting( 'geo_location_backend' )
  13. return if !backend
  14. # db lookup
  15. backend.geocode(address)
  16. end
  17. =begin
  18. lookup address for lat and lng
  19. result = GeoLocation.reverse_geocode( 4.21312, 1.3123 )
  20. returns
  21. result = 'some address'
  22. =end
  23. def self.reverse_geocode(lat,lng)
  24. # load backend
  25. backend = self.load_adapter_by_setting( 'geo_location_backend' )
  26. return if !backend
  27. # db lookup
  28. backend.reverse_geocode(lat,lng)
  29. end
  30. end