]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/geocoder_controller.rb
Enable the namefinder again.
[rails.git] / app / controllers / geocoder_controller.rb
index d997be614b7f02ccef03370b8fab68b4ead1bf80..a4c264a93791885454454684b7c71b0a7f70a83e 100644 (file)
@@ -84,8 +84,10 @@ private
     unless response.match(/Error/)
       dataline = response.split(/\n/)[1]
       data = dataline.split(/,/) # easting,northing,postcode,lat,long
-      results.push({:lat => data[3], :lon => data[4], :zoom => POSTCODE_ZOOM,
-                    :name => data[2].gsub(/'/, "")})
+      postcode = data[2].gsub(/'/, "")
+      zoom = POSTCODE_ZOOM - postcode.count("#")
+      results.push({:lat => data[3], :lon => data[4], :zoom => zoom,
+                    :name => postcode})
     end
 
     return { :source => "NPEMap / FreeThePostcode", :url => "http://www.npemap.org.uk/", :results => results }
@@ -116,7 +118,7 @@ private
     results = Array.new
 
     # ask OSM namefinder
-    response = fetch_xml("http://www.frankieandshadow.com/osm/search.xml?find=#{escape_query(query)}")
+    response = fetch_xml("http://gazetteer.openstreetmap.org/namefinder/search.xml?find=#{escape_query(query)}")
 
     # parse the response
     response.elements.each("searchresults/named") do |named|
@@ -146,9 +148,9 @@ private
                     :description => description})
     end
 
-    return { :source => "OpenStreetMap Namefinder", :url => "http://www.frankieandshadow.com/osm/", :results => results }
+    return { :source => "OpenStreetMap Namefinder", :url => "http://gazetteer.openstreetmap.org/namefinder/", :results => results }
   rescue Exception => ex
-    return { :source => "OpenStreetMap Namefinder", :url => "http://www.frankieandshadow.com/osm/", :error => "Error contacting www.frankieandshadow.com: #{ex.to_s}" }
+    return { :source => "OpenStreetMap Namefinder", :url => "http://gazetteer.openstreetmap.org/namefinder/", :error => "Error contacting gazetteer.openstreetmap.org: #{ex.to_s}" }
   end
 
   def search_geonames(query)
@@ -177,7 +179,7 @@ private
     results = Array.new
 
     # ask OSM namefinder
-    response = fetch_xml("http://www.frankieandshadow.com/osm/search.xml?find=#{types}+near+#{lat},#{lon}&max=#{max}")
+    response = fetch_xml("http://gazetteer.openstreetmap.org/namefinder/search.xml?find=#{types}+near+#{lat},#{lon}&max=#{max}")
 
     # parse the response
     response.elements.each("searchresults/named") do |named|
@@ -196,9 +198,9 @@ private
                     :description => description})
     end
 
-    return { :type => types.capitalize, :source => "OpenStreetMap Namefinder", :url => "http://www.frankieandshadow.com/osm/", :results => results }
+    return { :type => types.capitalize, :source => "OpenStreetMap Namefinder", :url => "http://gazetteer.openstreetmap.org/namefinder/", :results => results }
   rescue Exception => ex
-    return { :type => types.capitalize, :source => "OpenStreetMap Namefinder", :url => "http://www.frankieandshadow.com/osm/", :error => "Error contacting www.frankieandshadow.com: #{ex.to_s}" }
+    return { :type => types.capitalize, :source => "OpenStreetMap Namefinder", :url => "http://gazetteer.openstreetmap.org/namefinder/", :error => "Error contacting gazetteer.openstreetmap.org: #{ex.to_s}" }
   end
 
   def description_geonames(lat, lon)
@@ -216,7 +218,7 @@ private
 
     return { :type => "Location", :source => "GeoNames", :url => "http://www.geonames.org/", :results => results }
   rescue Exception => ex
-    return { :type => types.capitalize, :source => "OpenStreetMap Namefinder", :url => "http://www.frankieandshadow.com/osm/", :error => "Error contacting www.frankieandshadow.com: #{ex.to_s}" }
+    return { :type => "Location", :source => "GeoNames", :url => "http://www.geonames.org/", :error => "Error contacting ws.geonames.org: #{ex.to_s}" }
   end
 
   def fetch_text(url)