Я дурацкий начинающий программист и уже несколько месяцев пытаюсь заставить это работать!
У меня есть приложение, которое показывает разные места в городе.
На главной странице отображается карта (.png города с использованием палитры) и ее разбивка на разные области.
На странице также есть несколько фильтров-флажков для сужения результатов, отображаемых по областям, которые отображаются в виде пинов на карте .png. Поэтому, если я установлю флажок «Север», будут отображаться только места на севере города.
Я бы хотел, чтобы области карты действовали так же, как параметры фильтра. Таким образом, если пользователь щелкает северную область на карте, отображаются только места на севере, и ТАКЖЕ я хотел бы, чтобы все изображение города было заменено другим изображением (более увеличенное изображение северной части города). город).
Флажки фильтра (с помощью плагина jQuery UI)
<script>
$(function() {
$(".areas").buttonset();
});
</script>
<div class="filter_options_container">
<%= form_tag '', :method => :get, :id => 'filter_form' do %>
<fieldset class="filter_form_fieldset areas">
<% Area.all.each do |a| %>
<p class="area_check"><%= check_box_tag 'areas[]', a.id, false, :id => "area-#{a.id}" %>
<label for="area-<%= a.id %>"><p1><%= a.name %></p1></label></p>
<% end %>
</fieldset>
<div class="filter_form_button">
<p2><input type="submit" value="Filter"/></p2>
</div>
<% end %>
</div>
Индексный метод
def index
if
@places = Place.with_area(params[:areas]).order("case plan when 'premium' then 1 else 0 end desc, average_rating DESC").all
else
@places = Place.all
end
end
Показанные результаты отображаются как частичные:
<%= render :partial => 'place', :collection => @places %>
Карта изображений (с помощью плагина jquery maphighlight)
<script>
$(function() {
$('.map').maphilight();
});
</script>
<div class="map_container">
<%= image_tag("maps/mainmap.png", :width => "450", :height => "450", :class => "map", :usemap => "#mainmap", :alt => "") %>
<map name="mainmap">
<area id="north" shape="poly"
coords="158,43,152,49,164,86,165,112,153,153,139,169,145,171,161,176,236,201,241,202,251,166,253,142,257,132,294,102,269,85,240,68,227,53,213,28,202,27" alt="North"
data-maphilight='{"stroke":false,"fillColor":"5F9EA0","fillOpacity":0.6}'
onmouseover="document.body.style.cursor='pointer'"
onmouseout="document.body.style.cursor='default'" >
<area id="east" shape="poly"
coords="296,103,258,133,254,143,252,166,242,203,263,209,272,204,322,226,340,250,360,241,356,230,357,222,378,214,395,195,394,188" alt=""
data-maphilight='{"stroke":false,"fillColor":"5F9EA0","fillOpacity":0.6}'
onmouseover="document.body.style.cursor='pointer'"
onmouseout="document.body.style.cursor='default'" >
</map>
</div>
Итак, у меня есть рабочие флажки фильтра, и карта изображений правильно подсвечивается при каждом наведении области, как я могу связать 2?
Спасибо за любую помощь, она очень ценится!