【发布时间】:2015-07-10 07:40:48
【问题描述】:
在我的集群表中有集群坐标列名描述, 我直接以 Json 格式存储坐标,如下所示是我的集群表,使用这些坐标我想绘制多个集群(多边形) 在谷歌地图中,
id | description
----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 | {"points":[{"lat":14.232437996569354,"lng":76.409912109375},{"lat":13.336175186494927,"lng":77.1185302734375},{"lat":12.961735843534294,"lng":77.596435546875},{"lat":12.511665400971031,"lng":76.904296875}]}
2 | {"points":[{"lat":14.232437996569354,"lng":76.409912109375}, {"lat":13.336175186494927,"lng":77.1185302734375},{"lat":12.961735843534294,"lng":77.596435546875},{"lat":12.511665400971031,"lng":76.904296875}]}
我需要绘制多个多边形
但我正在尝试使用
控制器代码
query="select id,description from clusters;
@result=ActiveRecord::Base.connection.execute(query);
我在这里面临的问题是如何将此@result 传递给javascript 在谷歌地图中绘制多个多边形。 如果将此 json 复制到 js 中的一个变量中,我可以绘制集群,但我面临的问题是如何将此 json 数据从控制器中的数据库读取传递到 rails 中的 javascript
我在 javascript 中的谷歌地图代码如果将 json 硬编码到一个变量中它正在工作,但我需要从数据库中获取这个 json 如何将带有 id 的 json 从控制器传递到 javascript
var obj=i need json to store here //this how to fetch json from controller to js
polygons = [];
for(var i = 0; i < obj.length; ++i){
//do something with obj[i]
for(var ind in obj[i]) {
console.log(ind);
var arr = new google.maps.MVCArray();
for(var vals in obj[i][ind]){
console.log(vals, obj[i][ind][vals].lat );
arr.push( new google.maps.LatLng( obj[i][ind][vals].lat, obj[i][ind][vals].lng ) );
}
}
polygons.push(arr);
}
polygons.forEach( function(polyPath) {
var polygon = new google.maps.Polygon({
paths: polyPath,
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map
});
});
}
google.maps.event.addDomListener(window, 'load', initialize);
【问题讨论】:
标签: javascript ruby-on-rails json google-maps