Javascript Json用于映射非同步图表

Javascript Json用于映射非同步图表,javascript,json,amcharts,Javascript,Json,Amcharts,我需要使用带有json数据的Amcharts创建突尼斯地图 tunisiaLow中我的json/id中的代码 我的json中的nbre/突尼斯低值 我在tunisiaLow中更改json数据,但不工作 我需要像这样思考 请帮帮我 这是我在plunker plnkr.co/edit/6aDJREhcFYSfM5JW99mX?p=preview中的代码。代码中最大的问题是修改了AmCharts map JS文件,使其与库完全中断。除非您知道自己在做什么,并遵循上面的说明,否则不应修改JS文件。修改后

我需要使用带有json数据的Amcharts创建突尼斯地图 tunisiaLow中我的json/id中的代码 我的json中的nbre/突尼斯低值 我在tunisiaLow中更改json数据,但不工作 我需要像这样思考 请帮帮我
这是我在plunker plnkr.co/edit/6aDJREhcFYSfM5JW99mX?p=preview中的代码。代码中最大的问题是修改了AmCharts map JS文件,使其与库完全中断。除非您知道自己在做什么,并遵循上面的说明,否则不应修改JS文件。修改后的文件将删除使映射功能正常运行所需的
id
属性

理想情况下,您应该修改数据以匹配地图格式,而不是相反。根据您的情况,您似乎无法更改数据,因此解决方案与上次相同-重新映射数据以符合AmCharts的格式

原始JS/SVG地图中有每个省的ID列表。由于数据集的标题与原始地图中的标题不完全匹配,因此需要创建一个查找对象,该对象使用标题链接到内部地图ID,例如,使用法语标题:

  var areaDataMapping = {
    "TUNIS": "TN-11",
    "ARIANA": "TN-12",
    "BEN  AROUS": "TN-13",
    "MANOUBA": "TN-14",
    "NABEUL": "TN-21",
    "ZAGHOUAN": "TN-22",
    "BIZERTE": "TN-23",
    "BEJA": "TN-31",
    "JENDOUBA": "TN-32",
    "KEF": "TN-33",
    "SILIANA": "TN-34",
    "KAIROUAN": "TN-41",
    "KASSERINE": "TN-42",
    "SIDI  BOUZID": "TN-43",
    "SOUSSE": "TN-51",
    "MONASTIR": "TN-52",
    "MAHDIA": "TN-53",
    "SFAX": "TN-61",
    "GAFSA": "TN-71",
    "TOZEUR": "TN-72",
    "KEBILI": "TN-73",
    "GABES": "TN-81",
    "MEDENINE": "TN-82",
    "TATAOUINE": "TN-83"
    };
从那里,您可以重新映射解析后的JSON文件,以创建具有所需属性(如
id
title
value
)的正确区域对象数组,然后将结果分配给您的代码:

var remappedAreas = AmCharts.parseJSON( areas ).map(function(area) {
  return {
    id: areaDataMapping[area.libelleFr],
    title: area.libelleAr,
    code: area.code,
    value: area.nbre
  }
});
var map = AmCharts.makeChart("...", {
   // ...
   "dataProvider": {
   // ...
   "areas": remappedAreas,
   // ...
   },
   // ...
});

这里有一个,它使用了官方的AmCharts JS for Tunis,而不是您的版本。

我的代码:如果您能帮助我,我还有一个问题,请告诉我,我有一个嵌套的json内容,其中嵌套了性男性/女性,我需要为每个性别代表两张地图我需要创建两张地图:一张地图用蓝色显示男性nbre,另一张地图用红色显示女性nbre如何链接我的Plunker内容和我的想法:Thankswave你自己尝试过吗?从这里得到想法和逻辑,并绘制两张地图。这真的没那么难。当我说要结合这些想法时,我并不是有意从另一个答案中复制代码。我强烈建议您仔细阅读代码,看看它在做什么,而不是将随机的代码片段粘贴在一起,希望它能工作。还要确保使用后端技术的JSON序列化程序方法生成有效的JSON,或者确保它正确支持您的字符集。我在使用JSON lint验证您的数据时出错,因为阿拉伯语文本颠倒了您的一个数字。Thx在6小时后再次尝试解决我的问题您帮助我Thx