Ajax 循环处理JSON数据并将对象组合到单个数组中

Ajax 循环处理JSON数据并将对象组合到单个数组中,ajax,json,loops,Ajax,Json,Loops,我从API获取JSON数据,需要在数据中循环以获取纬度和经度坐标。然后通过将这些坐标存储在数组中,将它们传递到地图中 这是我到目前为止所拥有的 $.ajax({ url: 'APIUrl', dataType:'json', success:function(locations) { console.log(locations); for (var i = 0; i < locations.results.length; i++) {

我从API获取JSON数据,需要在数据中循环以获取纬度和经度坐标。然后通过将这些坐标存储在数组中,将它们传递到地图中

这是我到目前为止所拥有的

 $.ajax({
    url: 'APIUrl',
    dataType:'json',
    success:function(locations) {

      console.log(locations);
      for (var i = 0; i < locations.results.length; i++) {
        var latitude = locations.results[i].geocode.lat;
        var longitude = locations.results[i].geocode.long;
        var name = locations.results[i].name;
        var coordinates = [{name: name, latitude: latitude, longitude: longitude, radius: 2}];
            bombMap.bubbles(coordinates, {
         popupTemplate: function (geo, data) { 
          return ['<div class="hoverinfo">' +  data.name, '</div>'].join('');
         }
          }); 
      }; 
    },
});
需要将名称和地理编码数据存储到一个变量中,如下所示

var = [{
  name:
  latitude:
  longitude: },{
  name:
  latitude:
  longitude: }
];
要获得一个大阵列,请执行以下操作:

concatenatedCoordinates = coordinates.reduce(function(a, b){return a.concat(b);});

我希望我理解你的问题是正确的。

我明白了这一点,但迟迟没有注意到这一点是愚蠢的

    $.ajax({
    url: 'APIUrl',
    dataType:'json',
    success:function(locations) {
        var locals = [];
      for (var i = 0; i < locations.results.length; i++) {
        var latitude = locations.results[i].geocode.lat;
        var longitude = locations.results[i].geocode.long;
        var name = locations.results[i].name;
        var coordinates = {name: name, latitude: latitude, longitude: longitude, radius: 2};
        locals.push(coordinates); 
      }; 
      bombMap.bubbles(locals, {
       popupTemplate: function (geo, data) { 
        return ['<div class="hoverinfo">' +  data.name, '</div>'].join('');
       }
      });
    },
});
$.ajax({
url:'APIUrl',
数据类型:'json',
成功:功能(位置){
var局部变量=[];
对于(变量i=0;i

需要在for循环外声明一个空数组,然后使用。按以用坐标填充它。早该发现的

您能提供一个您正在查找的结果数据的示例吗?谢谢,但这会给出与我从坐标变量中删除[]相同的输出。它不会将对象合并到一个数组中
    $.ajax({
    url: 'APIUrl',
    dataType:'json',
    success:function(locations) {
        var locals = [];
      for (var i = 0; i < locations.results.length; i++) {
        var latitude = locations.results[i].geocode.lat;
        var longitude = locations.results[i].geocode.long;
        var name = locations.results[i].name;
        var coordinates = {name: name, latitude: latitude, longitude: longitude, radius: 2};
        locals.push(coordinates); 
      }; 
      bombMap.bubbles(locals, {
       popupTemplate: function (geo, data) { 
        return ['<div class="hoverinfo">' +  data.name, '</div>'].join('');
       }
      });
    },
});