From: Tom Hughes Date: Tue, 10 Nov 2009 13:35:58 +0000 (+0000) Subject: Fix a few nominatim issues. X-Git-Tag: live~6463 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/7dd06b4f88ff97c6942210b89cea9f96a39feaca Fix a few nominatim issues. --- diff --git a/app/controllers/geocoder_controller.rb b/app/controllers/geocoder_controller.rb index 6c98d49dd..9706001cd 100644 --- a/app/controllers/geocoder_controller.rb +++ b/app/controllers/geocoder_controller.rb @@ -223,13 +223,12 @@ class GeocoderController < ApplicationController @results = Array.new # ask OSM namefinder - response = fetch_xml("http://nominatim.openstreetmap.org/search.php?format=xml&polygon=true&q=#{escape_query(query)}") + response = fetch_xml("http://nominatim.openstreetmap.org/search?format=xml&q=#{escape_query(query)}") # parse the response response.elements.each("searchresults/place") do |place| lat = place.attributes["lat"].to_s lon = place.attributes["lon"].to_s - zoom = place.attributes["zoom"].to_s klass = place.attributes["class"].to_s type = place.attributes["type"].to_s name = place.attributes["display_name"].to_s @@ -241,7 +240,7 @@ class GeocoderController < ApplicationController prefix = t 'geocoder.search_osm_nominatim.prefix_other', :type => type.capitalize end - @results.push({:lat => lat, :lon => lon, :zoom => zoom, + @results.push({:lat => lat, :lon => lon, :min_lat => min_lat, :max_lat => max_lat, :min_lon => min_lon, :max_lon => max_lon, :prefix => prefix, :name => name}) @@ -342,7 +341,7 @@ class GeocoderController < ApplicationController @results = Array.new # ask OSM namefinder - response = fetch_xml("http://nominatim.openstreetmap.org/reverse.php?lat=#{lat}&lon=#{lon}&zoom=#{zoom}") + response = fetch_xml("http://nominatim.openstreetmap.org/reverse?lat=#{lat}&lon=#{lon}&zoom=#{zoom}") # parse the response response.elements.each("reversegeocode") do |result| diff --git a/app/helpers/geocoder_helper.rb b/app/helpers/geocoder_helper.rb index 0e5181026..8cbf4e965 100644 --- a/app/helpers/geocoder_helper.rb +++ b/app/helpers/geocoder_helper.rb @@ -13,7 +13,7 @@ module GeocoderHelper html << " " if result[:prefix] and result[:name] if result[:min_lon] and result[:min_lat] and result[:max_lon] and result[:max_lat] - html << link_to_function(result[:name],"setPosition(#{result[:lat]}, #{result[:lon]}, #{result[:zoom]}, #{result[:min_lon]}, #{result[:min_lat]}, #{result[:max_lon]}, #{result[:max_lat]})", html_options) if result[:name] + html << link_to_function(result[:name],"setPosition(#{result[:lat]}, #{result[:lon]}, null, #{result[:min_lon]}, #{result[:min_lat]}, #{result[:max_lon]}, #{result[:max_lat]})", html_options) if result[:name] else html << link_to_function(result[:name],"setPosition(#{result[:lat]}, #{result[:lon]}, #{result[:zoom]})", html_options) if result[:name] end diff --git a/app/views/site/edit.html.erb b/app/views/site/edit.html.erb index b29c0f200..3565b0468 100644 --- a/app/views/site/edit.html.erb +++ b/app/views/site/edit.html.erb @@ -88,7 +88,7 @@ zoom='14' if zoom.nil? doSWF(<%= lat || 'null' %>,<%= lon || 'null' %>,<%= zoom %>); function setPosition(lat, lon, zoom) { - doSWF(lat, lon, zoom); + doSWF(lat, lon, zoom || 15); } function resizeContent() {