geo_location.rb 813 B

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