From: Ilya Zverev Date: Mon, 27 Aug 2018 11:06:17 +0000 (+0300) Subject: Add parsing coordinates in lon, lat format X-Git-Tag: live~2934^2~2 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/d9d51fce9bf30269cf180587819ee9c3f83bff3a?ds=inline Add parsing coordinates in lon, lat format --- diff --git a/app/controllers/geocoder_controller.rb b/app/controllers/geocoder_controller.rb index 384f2c24c..933e00a6a 100644 --- a/app/controllers/geocoder_controller.rb +++ b/app/controllers/geocoder_controller.rb @@ -39,17 +39,23 @@ class GeocoderController < ApplicationController def search_latlon lat = params[:lat].to_f lon = params[:lon].to_f - if lat < -90 || lat > 90 - @error = "Latitude #{lat} out of range" - render :action => "error" - elsif lon < -180 || lon > 180 - @error = "Longitude #{lon} out of range" - render :action => "error" - else - @results = [{ :lat => lat, :lon => lon, + @results = [] + + if lat >= -90 && lat <= 90 && lon >= -180 && lon <= 180 + @results.push(:lat => lat, :lon => lon, :zoom => params[:zoom], - :name => "#{lat}, #{lon}" }] + :name => "#{lat}, #{lon}") + end + if lon >= -90 && lon <= 90 && lat >= -180 && lat <= 180 + @results.push(:lat => lon, :lon => lat, + :zoom => params[:zoom], + :name => "#{lon}, #{lat}") + end + if @results.empty? + @error = "Latitude or longitude are out of range" + render :action => "error" + else render :action => "results" end end