【发布时间】:2016-07-04 02:22:30
【问题描述】:
我是 Rails 新手,我想知道如何准确地循环这些标记。我的 JS 变量“count”无法识别,我需要一些帮助来遍历我的 ruby 数组或需要其他解决方案。
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 %>
【问题讨论】:
-
混合 erb 代码和 javascript 非常糟糕。您最好通过 ajax 调用获取标记信息(如果它们存储在 db 中)并将它们填充到
successresponse
标签: javascript ruby-on-rails google-maps embedded-ruby