@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
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})
@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|
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
doSWF(<%= lat || 'null' %>,<%= lon || 'null' %>,<%= zoom %>);
function setPosition(lat, lon, zoom) {
- doSWF(lat, lon, zoom);
+ doSWF(lat, lon, zoom || 15);
}
function resizeContent() {