Как я могу создать значки карты для частичных? - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть список записей, отображаемых как частичные внизу одной стороны экрана, которые можно отфильтровать. А с другой стороны у меня есть нарисованная от руки карта, которая представляет собой div с фоновым изображением. Как я могу иметь значок для каждой записи на карте, который отображается только при частичном отображении записей?

Страница указателя выглядит следующим образом:

<div class="map_container">
</div>

<div class="filter_options_container">
  filter form stuff is here
</div>

<div class="venue_partials_container">
  <%= render :partial => 'venue', :collection => @venues %>
  <div class="clearall"></div>

  <%= will_paginate @venues %>

  <div class="venue_partial_button">
    <%= link_to 'add a new venue', new_venue_path %>
  </div>
</div>

<div class="clearall"></div>

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 14 февраля 2011

Вам необходимо добавить какой-либо метод для объекта объекта или изменить метод рендеринга, в некотором роде ... ну, просто выведите некоторые данные javascript с каждым местом, как показано ниже:

<script type="text/javascript"><!--
data.push({
  x: <%= this.x %>,
  y: <%= this.y %>,
  someOtherStuff: <%= this.stuff %>
});
--></script>

и после этого добавьтефункция, которая будет перебирать этот массив данных:

function insertIconOnMap(mapItem){
  var img = $("<img>", {
    'class': "mapIcon",
    'src': mapItem.someOtherStuff
  }).css({
    'left': mapItem.x,
    'top': mapItem.y
  });
  $("#map").append(img);
}
data.each(insertIconOnMap);

и некоторые css вроде

#map { position: relative; }
#map .mapIcon { position: absolute; }

Если вы хотите это более элегантным способом ... я забыл все, что я знал о Ruby:-D И это вы, кто поставил javascript тег для вашего вопроса; -)

...