这似乎是一个基本问题,但是,我似乎在文档中或stackoverflow上都找不到答案。
我正在尝试获取使用amcharts4生成的地图的翻译后的国家/地区名称。
我找到了this related question,但这是为amcharts3指定的。当我尝试在amcharts4中设置此类图表系列的language属性时,
chart.language = 'nl';
,
我收到错误Uncaught TypeError: Cannot read property 'on' of undefined
,我认为这是设置不支持的属性时的标准错误。
我还发现了this related question,它说您应该设置chart.language.locale
,这适用于amcharts4,但不翻译国家名称。这只会翻译使用的单位和日期等。
所以我的问题是,“如何更改amcharts4中生成的地图的国家/地区名称?”
答案 0 :(得分:1)
所以,来自amcharts的官方答案是:
不,恐怕。我们目前还没有现成的解决方案 国家名称翻译:(
我所做的是从this repository获取翻译json文件。
我进行了查找和替换,以删除属性id
的属性和值。
我将属性名称alpha2
更改为id
,并将其值转换为大写。
例如
{"id":4,"name":"Afghanistan","alpha2":"af","alpha3":"afg"}
将成为
{"name":"Afghanistan","id":"AF","alpha3":"afg"}
这必将成为您的翻译对象。
然后我声明了一个变量translations
,并将这个完整的对象作为值给了它。
然后将其作为数据添加到我的polygonSeries中。 polygonSeries.data = translations;
。
因为现在这会使用转换后的值覆盖name属性,所以悬停效果应该使用转换后的值。