2 def result_to_html(result)
3 html_options = { :class => "set_position stretched-link", :data => {} }
5 url = if result[:type] && result[:id]
6 url_for(:controller => "/#{result[:type].pluralize}", :action => :show, :id => result[:id])
7 elsif result[:min_lon] && result[:min_lat] && result[:max_lon] && result[:max_lat]
8 "/?bbox=#{result[:min_lon]},#{result[:min_lat]},#{result[:max_lon]},#{result[:max_lat]}"
10 "/##{map_hash(result)}"
13 result.each do |key, value|
14 html_options[:data][key.to_s.tr("_", "-")] = value
18 html << result[:prefix] if result[:prefix]
19 html << " " if result[:prefix] && result[:name]
20 html << link_to(result[:name], url, html_options) if result[:name]
21 html << " " if result[:suffix] && result[:name]
22 html << result[:suffix] if result[:suffix]
27 return nil unless params[:lat].present? && params[:lon].present?
29 "map=#{params[:zoom] || 17}/#{params[:lat]}/#{params[:lon]}"
32 def describe_location(lat, lon, zoom = nil, language = nil)
33 Nominatim.describe_location(lat, lon, zoom, language)