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