Fix a few nominatim issues.
authorTom Hughes <tom@compton.nu>
Tue, 10 Nov 2009 13:35:58 +0000 (13:35 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 10 Nov 2009 13:35:58 +0000 (13:35 +0000)
app/controllers/geocoder_controller.rb
app/helpers/geocoder_helper.rb
app/views/site/edit.html.erb

index 6c98d49ddef8cd01373f716d04861e5923ec27b1..9706001cd744fa441cdf653d1bc157e8c69c7580 100644 (file)
@@ -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|
index 0e5181026fc45365f5bd5cf3464463832c138766..8cbf4e9652bc804280c07de367b1e022867c7b62 100644 (file)
@@ -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
index b29c0f200e84032f4b0464f98a29a1a436f00c9f..3565b046816d41658434471f34efdedfd113d7e9 100644 (file)
@@ -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() {