HighMaps不显示国家/地区数据

时间:2019-06-20 06:41:40

标签: javascript highcharts

我正在使用Highcharts Js显示Highmaps地图气泡数据。但是问题是图表没有在科索沃国家绘制泡沫。例如 如果我的JSON数据如下。

[
 {"Country":"kosovo","persons":"2","CountryCode":"XK"}, 
 {"Country":"india","persons":"2","CountryCode":"IN"}
]

仅显示印度国家/地区数据。却什么也没有显示。

enter image description here

这是我使用的Javascript:

var data_country = [{"Country":"kosovo","persons":"2","CountryCode":"XK"}, 
 {"Country":"india","persons":"2","CountryCode":"IN"}
] ;
data_country = data_country.map(function(el){
  return {name: el.Country, z: parseInt(el.persons), 'iso-a2': el.CountryCode}
})

Highcharts.mapChart('world-map', {
    chart: {
        plotBorderWidth: 1,
         plotBorderColor: '#ffffff',
         borderColor: "#ffffff",
         plotBackgroundColor: '#FFFFff',
        map: 'custom/world'
    },

    title: {
        text: "" ,
       enabled: false
    },

      credits: {
      enabled: false
  },
  exporting:{
    enabled: false
  },
    legend: {
        enabled: false
    },
     mapNavigation: {
        enabled: true,
        buttonOptions: {
            verticalAlign: 'bottom'
        }
    },
    series: [{
        name: 'Countries',
        color: '#E0E0E0',

        states: {
            inactive: {
                opacity: 1
            }
          },
        enableMouseTracking: false
    }, {
        type: 'mapbubble',
        name: '',
        joinBy: 'iso-a2',//'iso-a3', 'code3'],
        data: data_country,
        minSize: '4%',
         color: '#577ba8',  
         marker: {
              fillOpacity: 0.9
            },
        maxSize: '4%',
        tooltip: {
            pointFormat: '{point.properties.name}'
        }
    }]
 });

请告诉我我是否缺少某些东西,或者这是Highmaps错误。

1 个答案:

答案 0 :(得分:1)

我看到您使用的是非官方的国家/地区代码,因为它没有官方的ISO国家/地区代码:

  

欧盟委员会和其他机构使用非官方的2位和3位代码,直到为科索沃分配了ISO代码。

我还看到在Highmaps中使用KV似乎可行。我不确定他们为什么使用此特定国家/地区代码。例如,从您的代码(JSFiddle):

var data_country = [{"Country":"kosovo","persons":"2","CountryCode":"KV"}, 
                    {"Country":"india","persons":"2","CountryCode":"IN"}
                   ];
data_country = data_country.map(function(el){
  return {name: el.Country, z: parseInt(el.persons), 'iso-a2': el.CountryCode}
});