2 class LatlonQueriesController < QueriesController
4 lat = params[:lat].to_f
5 lon = params[:lon].to_f
7 if params[:latlon_digits]
8 # We've got two nondescript numbers for a query, which can mean both "lat, lon" or "lon, lat".
11 if lat.between?(-90, 90) && lon.between?(-180, 180)
12 @results.push(:lat => params[:lat], :lon => params[:lon],
13 :zoom => params[:zoom],
14 :name => "#{params[:lat]}, #{params[:lon]}")
17 if lon.between?(-90, 90) && lat.between?(-180, 180)
18 @results.push(:lat => params[:lon], :lon => params[:lat],
19 :zoom => params[:zoom],
20 :name => "#{params[:lon]}, #{params[:lat]}")
24 @error = "Latitude or longitude are out of range"
25 render :action => "error"
28 # Coordinates in a query have come with markers for latitude and longitude.
29 if !lat.between?(-90, 90)
30 @error = "Latitude #{lat} out of range"
31 render :action => "error"
32 elsif !lon.between?(-180, 180)
33 @error = "Longitude #{lon} out of range"
34 render :action => "error"
36 @results = [{ :lat => params[:lat], :lon => params[:lon],
37 :zoom => params[:zoom],
38 :name => "#{params[:lat]}, #{params[:lon]}" }]