2016-07-04 2 views
2

Я новичок в рельсах, и мне интересно, как именно я мог бы зацикливать эти маркеры. Моя переменная «счетчик» JS не распознается, и мне нужна помощь в моем рубиновом массиве или требуется другое решение.Зацикливание маркеров Google Maps со встроенным рубином?

function initMap() { 
      var mapDiv = document.getElementById('map'); 
      var map = new google.maps.Map(mapDiv, { 
       center: {lat: 44.540, lng: -78.546}, 
       zoom: 8 
      }); 

      var total = <%= mapcount %> 

      var javascriptcount = 0; 

      var count = 0; 

     <% arraylat = [] %> 
     <% arraylng = [] %> 

     <% mapposttotal.each do |q| %> 
      <% arraylat << q.lat %> 
      <% arraylng << q.lng %> 
     <% end %> 

      for (; javascriptcount <= total; javascriptcount++) { 
      var marker = new google.maps.Marker({ 
       position: {lat: <%= arraylat[count] %>, lng: <%= arraylng[count] %>}, 
       map: map, 
       title: 'Hello World!' 
      }); 
      count = count + 1; 
      console.log() 
      } 

     var Clicker = document.getElementById('PostIt'); 


     Clicker.addEventListener('click', function() { 
      window.location='/newpost.html';}, false); 

     } 


    <% end %> 
+0

Смешивание кода erb и javascript довольно плохо. Вам лучше получить информацию о маркерах с помощью вызова ajax (если они хранятся в db) и заполнить их в ответе 'success' – kasperite

ответ

1

Как вы новичок в Rails, я могу предложить это решение:

1.Add действие в MarkersController:

def index 
     respond_to do |format| 
     format.json do 
      markers = Marker.all.map do |marker| 
      { 
       lat: marker.lat, 
       lng: marker.lng 
      } 
      end 
      render json: markers 
     end 
     end 
    end 

2.In routes.rb

get "/markers", to: "markers#index" 

3.Javascript:

function initMap() { 
    $.getJSON("/markers", function(data) { 
    // All your js code to populate markers go in here. 
    }) 
} 

Это в основном, как это должно работать. Просто адаптируйте код в соответствии с вашими потребностями

Смежные вопросы