Class: MapboxService
- Inherits:
-
Object
- Object
- MapboxService
- Defined in:
- app/services/mapbox_service.rb
Constant Summary collapse
- BASE_URL =
'https://api.mapbox.com'.freeze
Instance Method Summary collapse
-
#initialize(access_token = ENV['MAPBOX_TOKEN']) ⇒ MapboxService
constructor
A new instance of MapboxService.
- #reverse_geocode(longitude, latitude) ⇒ Object
Constructor Details
#initialize(access_token = ENV['MAPBOX_TOKEN']) ⇒ MapboxService
Returns a new instance of MapboxService.
4 5 6 |
# File 'app/services/mapbox_service.rb', line 4 def initialize(access_token = ENV['MAPBOX_TOKEN']) @access_token = access_token end |
Instance Method Details
#reverse_geocode(longitude, latitude) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/services/mapbox_service.rb', line 8 def reverse_geocode(longitude, latitude) cache_key = "mapbox:reverse_geocode:#{latitude}:#{longitude}" Rails.cache.fetch(cache_key, expires_in: 10.minutes) do endpoint_url = "#{BASE_URL}/search/geocode/v6/reverse" params = { longitude: longitude, latitude: latitude, access_token: @access_token, language: 'en,th', } url = "#{endpoint_url}?#{params.to_param}" response = Faraday.get(url) response_json = JSON.parse(response.body) handle_response(response_json) end end |