将coldfusion查询结果作为javascript对象放入javascript数组中(谷歌地图)
我有一个州边界的纬度和经度值数据库,我用它在地图上绘制州的多边形。
我正在使用 Coldfusion 查询数据库,我希望像这样返回值 例如
"NY" :[new google.maps.LatLng(1,2), new google.maps.LatLng(3,4), new google.maps.LatLng(5,6)]
对于请求的每个州,然后将其放入 stateBorders 的 javascript 数组中,
请参阅下面的代码:
<cfquery datasource="source" name="states">
select * from state_lat_long where stateid order by stateid, orderid
</cfquery>
var stateBorder={};//declare array to hold the state latitude and longitude values
//need to take this whole thing and put it into array, then loop through the array
<cfoutput query="states" group="stateid">
var #states.stateid# = [
"#states.stateid#":[
<cfset count=0>
<cfoutput> <cfif count>, </cfif>new google.maps.LatLng (#states.latitude#,#states.longitude#)<cfset count=count +1></cfoutput>
]
];
stateBorder.push(states.stateid);
</cfoutput>
谢谢您的帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以尝试在cf中创建你需要的数据,然后将其转换为json格式并将i传递给js。
这未经测试,但可以给你一个想法:
You can try to craete the datas you need in cf and then convert it into json format and pass i to js.
This is untested but can give you an idea:
为了将查询对象转换为 JS 对象,有
ToScript()
。但是,如果您需要特定的 JS 对象格式,则必须自己仔细构造该结构,然后可能使用SerializeJSON()
来获取对象文字的 JSON 表示形式。For converting query object into JS object, there's
ToScript()
. However, if you need it in a specific JS object format, you've got to construct the struct carefully yourself, then maybe useSerializeJSON()
to get the JSON representation of your object literal.在 Coldfusion 中创建所需的变量:
将 CF 变量转换为 javascript 变量:
var toScript(stateID, "stateIDvar");
其中stateID 是 CF 变量的名称,stateIDvar 将是 javascript 名称。然后在 while 循环中将点插入到 JavaScript 数组中。
Create the variables you want in coldfusion:
<cfset stateID = #states.stateid#>
Convert the CF variable into javascript variable:
var toScript(stateID, "stateIDvar");
Where stateID is the name of the CF variable and stateIDvar will be the javascript name. And then insert the points into your javascript array in a while loop.
这是与@Andrea Campolonghi类似的答案,它迭代列列表,创建一个可以进行json编码的结构(如果您不关心serializeJSON如何使用单独的列列表和数据数组对查询进行编码)
Here is a similar answer to @Andrea Campolonghi's, this iterates through the column list, creating a struct that can then be json encoded (in case you dont care for how serializeJSON encodes queries with separate arrays for columnlist and data