1 # frozen_string_literal: true
3 module NominatimMethods
4 extend ActiveSupport::Concern
8 def nominatim_query_url(format: nil)
10 query = params[:query]
11 minlon = params[:minlon]
12 minlat = params[:minlat]
13 maxlon = params[:maxlon]
14 maxlat = params[:maxlat]
17 viewbox = "&viewbox=#{minlon},#{maxlat},#{maxlon},#{minlat}" if minlon && minlat && maxlon && maxlat
19 # get objects to excude
20 exclude = "&exclude_place_ids=#{params[:exclude]}" if params[:exclude]
23 "#{Settings.nominatim_url}search?format=#{format}&extratags=1&q=#{CGI.escape(query)}#{viewbox}#{exclude}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}"
26 def nominatim_reverse_query_url(format: nil)
27 # get query parameters
33 "#{Settings.nominatim_url}reverse?format=#{format}&lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}"