}
function clickSearchResult(e) {
- e.preventDefault();
- e.stopPropagation();
-
var data = $(this).data(),
center = L.latLng(data.lat, data.lon);
+ if (data.type && data.id) return; // Browse link
+
+ e.preventDefault();
+ e.stopPropagation();
+
if (data.minLon && data.minLat && data.maxLon && data.maxLat) {
map.fitBounds([[data.minLat, data.minLon],
[data.maxLat, data.maxLon]]);
} else {
map.setView(center, data.zoom);
}
-
- marker
- .setLatLng(center)
- .addTo(map);
-
- if (data.type && data.id) {
- map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } });
- }
}
var marker = L.marker([0, 0], {icon: getUserIcon()});
def result_to_html(result)
html_options = { :class => "set_position", :data => {} }
- if result[:min_lon] and result[:min_lat] and result[:max_lon] and result[:max_lat]
+ if result[:type] and result[:id]
+ url = url_for(:controller => :browse, :action => result[:type], :id => result[:id])
+ elsif result[:min_lon] and result[:min_lat] and result[:max_lon] and result[:max_lat]
url = "?minlon=#{result[:min_lon]}&minlat=#{result[:min_lat]}&maxlon=#{result[:max_lon]}&maxlat=#{result[:max_lat]}"
else
url = "?mlat=#{result[:lat]}&mlon=#{result[:lon]}&zoom=#{result[:zoom]}"
html << " " if result[:prefix] and result[:name]
html << link_to(result[:name], url, html_options) if result[:name]
html << result[:suffix] if result[:suffix]
-
- # if result[:type] and result[:id]
- # html << content_tag(:small, :class => ["deemphasize", "search_details"]) do
- # link_to(t("browse.#{result[:type]}_history.view_details"), :controller => :browse, :action => result[:type], :id => result[:id])
- # end
- # end
-
- return raw(html)
+ html.html_safe
end
def describe_location(lat, lon, zoom = nil, language = nil)