我正在使用Leaflet添加标记以进行贴图。以下代码是如何将标记添加到我的地图中。
markers.addLayer(new L.Marker([LAT, LONG]).bindPopup(POPUP).openPopup());
现在,LAT(float),LONG(float)和POPUP(字符串)都是我的数据库中companies
表中保存的数据。所以我想循环遍历此表中的每一行,并从每一行中提取这三个属性,添加一个标记并继续下一行。
我已经查了几件事,我认为this将是一个非常好的开始,但我确定如何改变它以满足我的需要。
编辑:值得一提的是,这一切都是在页面加载时完成的,而不是任何点击或任何性质的。
答案 0 :(得分:0)
你可以通过各种方式做到这一点。最简单的方法是在视图中重复调用该行代码。
#in some_template.html.erb - expects @companies to have been defined in the controller action.
<%= javascript_tag do %>
(function() {
<% @companies.each do |company| %>
markers.addLayer(new L.Marker([<%= company.lat %>, <%= company.long %>]).bindPopup(<%= company.popup %>).openPopup());
<% end %>
})();
<% end %>
您可能需要稍微调整一下格式。