]> git.openstreetmap.org Git - rails.git/blob - app/controllers/concerns/nominatim_methods.rb
Merge pull request #5932 from tomhughes/frozen-strings
[rails.git] / app / controllers / concerns / nominatim_methods.rb
1 # frozen_string_literal: true
2
3 module NominatimMethods
4   extend ActiveSupport::Concern
5
6   private
7
8   def nominatim_query_url(format: nil)
9     # get query parameters
10     query = params[:query]
11     minlon = params[:minlon]
12     minlat = params[:minlat]
13     maxlon = params[:maxlon]
14     maxlat = params[:maxlat]
15
16     # get view box
17     viewbox = "&viewbox=#{minlon},#{maxlat},#{maxlon},#{minlat}" if minlon && minlat && maxlon && maxlat
18
19     # get objects to excude
20     exclude = "&exclude_place_ids=#{params[:exclude]}" if params[:exclude]
21
22     # build url
23     "#{Settings.nominatim_url}search?format=#{format}&extratags=1&q=#{CGI.escape(query)}#{viewbox}#{exclude}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}"
24   end
25
26   def nominatim_reverse_query_url(format: nil)
27     # get query parameters
28     lat = params[:lat]
29     lon = params[:lon]
30     zoom = params[:zoom]
31
32     # build url
33     "#{Settings.nominatim_url}reverse?format=#{format}&lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}"
34   end
35 end