Module: Gemish
- Defined in:
- lib/gemish.rb
Instance Method Summary collapse
- #geocode(place, sensor = false) ⇒ Object
- #geocoder_parse_results(url) ⇒ Object
- #reverse_geocode(coordinates, sensor = false) ⇒ Object
Instance Method Details
#geocode(place, sensor = false) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/gemish.rb', line 13 def geocode(place, sensor = false) results = geocoder_parse_results("?address=#{URI.encode(place)}&sensor=#{sensor}") location = results.fetch("geometry").fetch("location") lat = location.fetch("lat") # print lang sa ta lng = location.fetch("lng") # print lang sa ta coordinate = [lat, lng] rescue nil end |
#geocoder_parse_results(url) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/gemish.rb', line 6 def geocoder_parse_results(url) base_url = "http://maps.googleapis.com/maps/api/geocode/json" response = Net::HTTP.get_response(URI.parse(base_url+url)) json_result = JSON.parse(response.body) json_result.fetch("results")[0] end |
#reverse_geocode(coordinates, sensor = false) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/gemish.rb', line 24 def reverse_geocode(coordinates, sensor = false) lat, lng = coordinates results = geocoder_parse_results("?latlng=#{lat},#{lng}&sensor=#{sensor}") address = results.fetch("formatted_address") # print lang sa ta rescue nil end |