首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Json地图解译

Json地图解译
EN

Stack Overflow用户
提问于 2017-04-17 10:21:33
回答 1查看 382关注 0票数 0

我需要用我的json / id中的json /id在json /id中创建一个突尼斯地图,在我的json /id中使用json/id,在我的json/ tunisiaLow中使用tunisialow,我改变了tunisiaLow,就像我的json数据,但我不需要工作,我需要像这样的图片请求来帮助我,这是我在柱塞plnkr.co/编辑/6aDREhcFYSfM5JW99mX中的代码?P=预览

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-17 19:33:39

代码的最大问题是修改了AmCharts映射JS文件,使其与库完全崩溃。不应该修改JS文件,除非您知道自己在做什么,并遵循创建您自己的地图文件教程上的说明。修改后的文件将删除使map函数生成的必需的id属性。

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

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

代码语言:javascript
代码运行次数:0
运行
复制
  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文件,以便使用所需的属性(如idtitlevalue )创建正确的区域对象数组,然后将结果分配给您的代码:

代码语言:javascript
代码运行次数:0
运行
复制
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,而不是您的版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43449590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档