Preserve lat and lon values as entered for reverse searches
This commit is contained in:
parent
d80fac7ad9
commit
f047f86c1d
2 changed files with 11 additions and 11 deletions
|
@ -35,15 +35,15 @@ class GeocoderController < ApplicationController
|
|||
@results = []
|
||||
|
||||
if lat >= -90 && lat <= 90 && lon >= -180 && lon <= 180
|
||||
@results.push(:lat => lat, :lon => lon,
|
||||
@results.push(:lat => params[:lat], :lon => params[:lon],
|
||||
:zoom => params[:zoom],
|
||||
:name => "#{lat}, #{lon}")
|
||||
:name => "#{params[:lat]}, #{params[:lon]}")
|
||||
end
|
||||
|
||||
if lon >= -90 && lon <= 90 && lat >= -180 && lat <= 180
|
||||
@results.push(:lat => lon, :lon => lat,
|
||||
@results.push(:lat => params[:lon], :lon => params[:lat],
|
||||
:zoom => params[:zoom],
|
||||
:name => "#{lon}, #{lat}")
|
||||
:name => "#{params[:lon]}, #{params[:lat]}")
|
||||
end
|
||||
|
||||
if @results.empty?
|
||||
|
@ -61,9 +61,9 @@ class GeocoderController < ApplicationController
|
|||
@error = "Longitude #{lon} out of range"
|
||||
render :action => "error"
|
||||
else
|
||||
@results = [{ :lat => lat, :lon => lon,
|
||||
@results = [{ :lat => params[:lat], :lon => params[:lon],
|
||||
:zoom => params[:zoom],
|
||||
:name => "#{lat}, #{lon}" }]
|
||||
:name => "#{params[:lat]}, #{params[:lon]}" }]
|
||||
|
||||
render :action => "results"
|
||||
end
|
||||
|
@ -219,7 +219,7 @@ class GeocoderController < ApplicationController
|
|||
params.merge!(dms_to_decdeg(latlon)).delete(:query)
|
||||
|
||||
elsif latlon = query.match(%r{^([+-]?\d+(\.\d*)?)(?:\s+|\s*[,/]\s*)([+-]?\d+(\.\d*)?)$})
|
||||
params.merge!(:lat => latlon[1].to_f, :lon => latlon[3].to_f).delete(:query)
|
||||
params.merge!(:lat => latlon[1], :lon => latlon[3]).delete(:query)
|
||||
|
||||
params[:latlon_digits] = true
|
||||
end
|
||||
|
|
|
@ -368,8 +368,8 @@ class GeocoderControllerTest < ActionDispatch::IntegrationTest
|
|||
assert_template :layout => "map"
|
||||
assert_equal %w[latlon osm_nominatim_reverse], assigns(:sources).pluck(:name)
|
||||
assert_nil @controller.params[:query]
|
||||
assert_in_delta lat, @controller.params[:lat]
|
||||
assert_in_delta lon, @controller.params[:lon]
|
||||
assert_in_delta lat, @controller.params[:lat].to_f
|
||||
assert_in_delta lon, @controller.params[:lon].to_f
|
||||
|
||||
get search_path(:query => query), :xhr => true
|
||||
assert_response :success
|
||||
|
@ -377,8 +377,8 @@ class GeocoderControllerTest < ActionDispatch::IntegrationTest
|
|||
assert_template :layout => "xhr"
|
||||
assert_equal %w[latlon osm_nominatim_reverse], assigns(:sources).pluck(:name)
|
||||
assert_nil @controller.params[:query]
|
||||
assert_in_delta lat, @controller.params[:lat]
|
||||
assert_in_delta lon, @controller.params[:lon]
|
||||
assert_in_delta lat, @controller.params[:lat].to_f
|
||||
assert_in_delta lon, @controller.params[:lon].to_f
|
||||
end
|
||||
|
||||
def search_check(query, sources)
|
||||
|
|
Loading…
Add table
Reference in a new issue