Как динамически обновить модель с помощью флажков и немедленно отобразить изменения карты - PullRequest
0 голосов
/ 04 марта 2020

Я хочу, чтобы набор флажков был привязан к моей модели Site, и когда пользователь установит один флажок, соответствующее местоположение отобразится на карте.

Я засеял свою базу данных несколькими сайтами в следующем формате:

/ db / migrate / seeds.rb

Site.create(name: "Site name",
    latitude: 40.36618,
    longitude: -105.56095,
    include: false, )

I Мне нужны сгенерированные флажки для обновления поля :include, а затем сразу же отображаются новые маркеры карты по мере их добавления.

/ views / sites / map. html .erb

<div class="float-left">
<div class="inner-left">
  <%= hidden_field_tag("sites[]", nil) %>
  <% Site.all.each do |p| %>
    <%= check_box_tag("sites[]", p.name, p.include, { id: dom_id(p) } ) %>
    <%= label_tag dom_id(p), p.name %>
    <br>
  <% end %>
</div>
</div>

<div class="float-right">
<div class="inner-right">
  <div id="usmap" style="width: 800px; height: 500px; position: relative;">
  </div>
</div>
</div>

<div class="clear-floated"></div>

<script>
    var mymap = L.map('usmap', {
        ... 
        ... map parameters here...
        ...
    });

    L.marker([40.366,-105.56]).addTo(mymap)     // This is where I want to add/sub the markers for the 
                                                // map when a checkbox is checked/unchecked.
                                                // Need to loop through or just add/sub the new marker
</script>

Флажки отображаются, и карта отображается с одним маркером (который я жестко запрограммировал, как показано выше), так что это все хорошо. Просто действительно потеряли в лучшем способе продолжить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...