如何将正确的阵列连接到我的功能

时间:2019-07-03 07:22:52

标签: javascript arrays latitude-longitude attr

我的代码有问题。我想制作三张世界地图。其中两个正在工作,因为我使用的是同一数组,但是第三个(使用不同的数组)不起作用。我做了与第一次相同的操作,但是无论如何都无法正常工作。他们没有选择正确的经度和纬度。应该从国家/地区获取经度和纬度,而不是从拒绝中获取经度和纬度,而应该以拒绝的大小来绘制圆圈。

我尝试了很多事情,但是没有用。我认为问题可能出在这里,但我不确定。

var arrayFullOfCircles = [];

init();
function init () {
    arrayFullOfCircles = getCountries();
}
var arr = [];
  for (var i = 0; i < data.length; i++) {
    var attrAlreadyExists = false;
    for (j = 0; j < arr.length; j++) {
      if (data[i][attr] === arr[j][attr]) {
        attrAlreadyExists = true;
        break;
      }
    }
    if (attrAlreadyExists) {
      if (!isNaN(Number(data[i].r))) {
        arr[j].rSum += Number(data[i].r);
       }
    } else {
      arr.push({
        rSum: Number(data[i].r),
      });
      arr[arr.length - 1][attr] = data[i][attr];
      arr[arr.length - 1][attr + "lo"] = data[i][attr + "lo"];
      arr[arr.length - 1][attr + "la"] = data[i][attr + "la"];
    }
  }
function makeRejectedMap() {
  for (var j = 0; j < arrayFullOfCircles.length; j++) {
    arrayFullOfCircles[j].changed = false;
  }
  for (i = 0; i < rSumsByCountry.length; i++) {
    xPos = map(rSumsByCountry[i].clo, 0 - 180, 180, 0, paperWidth);
    yPos = paperHeight - map(rSumsByCountry[i].cla, 0 - 90, 90, 0, paperHeight);
    radius = map(areaToRadius(rSumsByCountry[i].rSum), 0, areaToRadius(17000), 0, 4);

    for (var j = 0; j < arrayFullOfCircles.length; j++) {
      if (arrayFullOfCircles[j].countryCode == rSumsByCountry[i].c) {
        arrayFullOfCircles[j].changed = true;
        changeCircle(arrayFullOfCircles[j].countryCircle, xPos, yPos, radius, "#FF4545B");
      }
    }
  }

控制台中没有错误。但是它记录了错误的数组。

0 个答案:

没有答案