在我的Rails应用程序中,我有谷歌地图,我想根据坐标(纬度,经度)显示引脚。我在user.rb文件中有虚拟数据作为数组,我正在尝试通过它映射并将坐标传递给谷歌地图,但是我遗漏了一些基本的东西,因为如果我手动提供它,一切都有效。那么如何迭代以便在地图上显示坐标?
#user.rb
class User < ApplicationRecord
COORDINATES = [[51.50853, -0.076132], [51.510357, -0.116773]]
def self.latitude
COORDINATES.map do |x|
x[0] # How to pass coordinates correctly?
end
end
def self.longitude
COORDINATES.map do |x|
x[-1] # How to pass coordinates correctly?
end
end
end
那是用户控制器索引操作:
def index
@latitude = User.latitude
@longitude = User.longitude
end
那是index.html.erb。我在这里提供@latitude和@longitude。
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
markers = handler.addMarkers([
{
"lat": <%= @latitude %>,
"lng": <%= @longitude %>
}
]);
});
答案 0 :(得分:0)
试试这个:
markers = handler.addMarkers([
<% User::COORDINATES.each.with_index do |geo,i| %>
{
"lat": <%= geo[0] %>,
"lng": <%= geo[1] %>
}
<% if User::COORDINATES[i+1] %>,<% end %>
<% end %>
]);