1 # frozen_string_literal: true
4 def result_to_html(result)
5 html_options = { :class => "set_position stretched-link", :data => {} }
7 url = if result[:type] && result[:id]
8 url_for(:controller => "/#{result[:type].pluralize}", :action => :show, :id => result[:id])
9 elsif result[:min_lon] && result[:min_lat] && result[:max_lon] && result[:max_lat]
10 "/?bbox=#{result[:min_lon]},#{result[:min_lat]},#{result[:max_lon]},#{result[:max_lat]}"
12 "/##{map_hash(result)}"
15 result.each do |key, value|
16 html_options[:data][key.to_s.tr("_", "-")] = value
20 html << result[:prefix] if result[:prefix]
21 html << " " if result[:prefix] && result[:name]
22 html << link_to(result[:name], url, html_options) if result[:name]
23 html << " " if result[:suffix] && result[:name]
24 html << result[:suffix] if result[:suffix]
29 return nil unless params[:lat].present? && params[:lon].present?
31 "map=#{params[:zoom] || 17}/#{params[:lat]}/#{params[:lon]}"
34 def describe_location(lat, lon, zoom = nil, language = nil)
35 Nominatim.describe_location(lat, lon, zoom, language)