X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/7dd06b4f88ff97c6942210b89cea9f96a39feaca..b3d37581ad5d1d27d9e181bdcc6382ef831fbfcc:/app/controllers/geocoder_controller.rb diff --git a/app/controllers/geocoder_controller.rb b/app/controllers/geocoder_controller.rb index 9706001cd..c84571407 100644 --- a/app/controllers/geocoder_controller.rb +++ b/app/controllers/geocoder_controller.rb @@ -218,12 +218,21 @@ class GeocoderController < ApplicationController def search_osm_nominatim # get query parameters query = params[:query] + minlon = params[:minlon] + minlat = params[:minlat] + maxlon = params[:maxlon] + maxlat = params[:maxlat] + + # get view box + if minlon && minlat && maxlon && maxlat + viewbox = "&viewbox=#{minlon},#{maxlat},#{maxlon},#{minlat}" + end # create result array @results = Array.new - # ask OSM namefinder - response = fetch_xml("http://nominatim.openstreetmap.org/search?format=xml&q=#{escape_query(query)}") + # ask nominatim + response = fetch_xml("http://nominatim.openstreetmap.org/search?format=xml&q=#{escape_query(query)}#{viewbox}&accept-language=#{request.user_preferred_languages.join(',')}") # parse the response response.elements.each("searchresults/place") do |place| @@ -341,7 +350,7 @@ class GeocoderController < ApplicationController @results = Array.new # ask OSM namefinder - response = fetch_xml("http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}") + response = fetch_xml("http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}&accept-language=#{request.user_preferred_languages.join(',')}") # parse the response response.elements.each("reversegeocode") do |result|