我需要用我的json / id中的json /id在json /id中创建一个突尼斯地图,在我的json /id中使用json/id,在我的json/ tunisiaLow中使用tunisialow,我改变了tunisiaLow,就像我的json数据,但我不需要工作,我需要像这样的图片请求来帮助我,这是我在柱塞plnkr.co/编辑/6aDREhcFYSfM5JW99mX中的代码?P=预览
发布于 2017-04-17 11:33:39
代码的最大问题是修改了AmCharts映射JS文件,使其与库完全崩溃。不应该修改JS文件,除非您知道自己在做什么,并遵循创建您自己的地图文件教程上的说明。修改后的文件将删除使map函数生成的必需的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,而不是您的版本。
https://stackoverflow.com/questions/43449590
复制相似问题