【发布时间】:2015-08-18 19:40:00
【问题描述】:
我正在尝试使用来自两个单独的 json 文件的数据创建 Google 地图。我正在尝试使用 jquery/javascript 组合这两个文件,然后通过 Google Maps API 处理生成的对象数组。
我尝试过 $.extend、$.merge、concat,甚至尝试将数据推送到一个空数组中,但在每种情况下,只有第一组数据出现在地图上(尽管我可以如果我用 console.log 显示两组数据,请分别查看它们)。
我一定是做错了什么,但我没有看到。我的代码的相关部分如下(我尝试过的东西被注释掉了)。任何建议将不胜感激。
j$.when(
j$.getJSON('mapData1.js'),
j$.getJSON('mapData2.js')
).done(function(data1, data2) {
var d1 = data1;
var d2 = data2;
var d3 = [];
d3.push(d1[0]);
d3.push(d2[0]);
//var d3 = j$.extend({},d1,d2);
//var d3 = j$.merge(d1,d2);
//var d3 = d1.concat(d2);
var data = d3[0];
//code to process data with Google Maps API
});
我的 json 文件看起来像这样(但包含更多项目):
[
{
"ID": "a001a000002o4iZAAQ",
"NAME": "Atlanta",
"Address": "123 State Street",
"City": "Atlanta",
"StateAbbreviation": "GA",
"SF": "",
"LeaseExpiration": "8/31/2012",
"Occupancy": "2",
"Country": "USA",
"Address2": "",
"Lat": "33.7863317",
"Lng": "-84.3836873",
"Type": "loc",
"Color": "red"
}
]
【问题讨论】:
-
var data = d3[0];在这里你明确地说第一组数据。你试过这个吗:var data = d3;
-
@Eeliya:是的,我现在意识到我将两个数据集作为单独的对象返回。我想将数据项组合成一个大数组,例如,如果 data1 = [{"a":"xA1","b":"xB1"},{"a":"xA2","b": "xB2"}] 和 data2 = [{"a":"xA3","b":"xB3"},{"a":"xA4","b":"xB4"},{"a": "xA5","b":"xB5"}],我希望结果是:[{"a":"xA1","b":"xB1"},{"a":"xA2" ,"b":"xB2"},{"a":"xA3","b":"xB3"},{"a":"xA4","b":"xB4"},{"a" :"xA5","b":"xB5"}]
标签: javascript jquery json