Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google图表,json格式错误,错误:不是数组_Json_Google Visualization - Fatal编程技术网

Google图表,json格式错误,错误:不是数组

Google图表,json格式错误,错误:不是数组,json,google-visualization,Json,Google Visualization,我正在尝试传递一个json文件,以使用Google图表呈现地图。我的脚本代码是: google.charts.load('current', {'packages': ['geomap']}); google.charts.setOnLoadCallback(drawMap); function drawMap() { var dimension = "Clientes"; var datosMapa; $.ajax({ url:"datosCiudades.json

我正在尝试传递一个json文件,以使用Google图表呈现地图。我的脚本代码是:

google.charts.load('current', {'packages': ['geomap']});
google.charts.setOnLoadCallback(drawMap);

function drawMap() {
  var dimension = "Clientes";
  var datosMapa;

  $.ajax({
      url:"datosCiudades.json",
      dataType: "JSON"
  }).done (function(data){
    datosMapa = [["City",dimension]];
    $.each(data.datosGeograficos,function(){ //
      var datoCiudad = [this.City,this[dimension]];
      console.log(data.City);
      datosMapa.push(datoCiudad);
    })
  })

  console.log(JSON.stringify(datosMapa));

  var datas = google.visualization.arrayToDataTable(datosMapa);

  var options = {};
  options['region'] = 'ES'; //US //154
  options['colors'] = [0xFF8747, 0xFFB581, 0xc06000]; //orange colors
  options['dataMode'] = 'markers';

  var container = document.getElementById('map_canvas');
  var geomap = new google.visualization.GeoMap(container);
  geomap.draw(datas, options);
};
json文件是:

{
  "datosGeograficos": [
    {
      "City": "Madrid",
      "Clientes": 200
    },
    {
      "City": "Leon",
      "Clientes": 300
    },
    {
      "City": "Valencia",
      "Clientes": 400
    },
    {
      "City": "Toledo",
      "Clientes": 500
    },
    {
      "City": "Cuenca",
      "Clientes": 600
    },
    {
      "City": "Vigo",
      "Clientes": 700
    }
  ]
}
我知道json文件的格式很好,但我总是得到两个答案,但我看不到地图。答案是:“格式错误”(它指的是json文件)和“错误:不是数组”。第二个答案是因为在json文件中找不到数据。
非常感谢。

最后,我回答了我自己的问题;我在这里为处于相同情况的其他人提供了解决方案。 完整的脚本是:

load('current',{'packages':['geochart']}); google.charts.setOnLoadCallback(drawMap)


最后,我回答了我自己的问题;我在这里为处于相同情况的其他人提供了解决方案。 完整的脚本是:

load('current',{'packages':['geochart']}); google.charts.setOnLoadCallback(drawMap)

function drawMap() {
  var dimension = "Clientes";
  var datosMapa;

  $.ajax({
      url:"datosCiudades.json",
      dataType: "JSON"
  }).done (function(data){

    datosMapa = [["City","Clientes"]];
    $.each(data.datosGeograficos,function(){ 
      var datoCiudad = [this.City,this.Clientes];
      console.log("datoCiudad: " + datoCiudad); 
      datosMapa.push(datoCiudad);
    })

    var datas = google.visualization.arrayToDataTable(datosMapa); 

    var options = {
        region: 'ES', resolution: 'provinces',
        displayMode: 'markers',
        backgroundColor: '#F0F8FF', //color de lo que no son los países
        datalessRegionColor: '#FFEBCD', //color de los países
        defaultColor: '#f5f5f5',
        //displayMode: 'text' , Muestra el texto en vez del círculo.
        colorAxis: {colors: ['#7FFFD4', 'blue']}
    };


    var container = document.getElementById('map_canvas');
    var geomap = new google.visualization.GeoChart(container);
    geomap.draw(datas, options);

  })
};