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]}" }]