我想获取一个数组并将数据加载到json对象中,但我仍然坚持如何做到这一点。
TripsController
def index
@trips = Trip.all
@markers = Array.new
@trips.each do |trip|
for marker in trip.markers
@markers.push(marker)
end
end
@gmaps_options =
{
"markers" => { "data" => '[{ "lng": "-99.9018131", "lat": "31.9685988"},
{ "lng": "-102.552784", "lat": "23.634501"},
{ "lng": "-122.3667", "lat": "40.5833"},
{ "lng": "-121.8356", "lat": "39.7400"}
]', },
"polylines" => { "data" => ' [ [
{"lng": -99.9018131, "lat": 31.9685988},
{"lng": -102.552784, "lat": 23.634501},
], [
{ "lng": "-122.3667", "lat": "40.5833"},
{ "lng": "-121.8356", "lat": "39.7400"}
] ]' }
}
respond_to do |format|
format.html # index.html.erb
format.json { render json: @trips }
end
end
经度和纬度现在是硬编码的,但我想将@markers加载到经度纬度,
"lng": @markers[0].longitude, "lat": @markers[0].latitude
这使地图无法渲染,只是一个灰色框。
在视图中,使用gmaps(@gmaps_options)
调用地图非常感谢任何帮助。
答案 0 :(得分:0)
看起来你在引用的字符串中有你的变量引用。
尝试将值添加到字符串
'[{ "lng":' + @markers[0].longitude.to_s + ', "lat": @markers[0].latitude ....'