You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jVector Map加载两个数据集时颜色未正常显示的技术问题

解决jVectorMap多数据集颜色不显示的问题

你遇到的问题核心在于jVectorMap的单个regions系列只能接收一个数值集合,你现在把两个数据集ctrl.gdpData和ctrl.pdpData塞进了同一个values数组里,这不符合插件的配置规范,导致第二个数据集无法被正确解析渲染,所以看不到对应的颜色。下面给你两种常见场景的解决方案:

场景1:分别渲染两个数据集(叠加或独立展示)

如果需要同时展示两个数据集的信息,或者允许用户切换查看,你可以在series.regions里定义两个独立的系列,分别对应GDP和PDP数据,给它们设置不同的颜色范围和透明度来避免互相覆盖:

$('#world-map-gdp').vectorMap({
    map: 'world_mill',
    series: {
        regions: [
            // 第一个系列:Deposit数据(GDP)
            {
                values: ctrl.gdpData,
                scale: ['#C8EEFF', '#0071A4'],
                normalizeFunction: 'polynomial',
                opacity: 0.6 // 设透明度避免覆盖第二个系列
            },
            // 第二个系列:Activation数据(PDP)
            {
                values: ctrl.pdpData,
                scale: ['#FFEEC8', '#A47100'],
                normalizeFunction: 'polynomial',
                opacity: 0.4
            }
        ]
    },
    onRegionTipShow: function(e, el, code){
        el.html(el.html()+' (Deposit - '+ctrl.gdpData[code]+')'+' (Activation - '+ctrl.pdpData[code]+')');
    }
});

场景2:合并两个数据集为一个数值渲染

如果希望基于两个数据集的组合值(比如求和、取平均)来统一渲染颜色,可以先合并数据生成一个新的键值对对象,再传给values:

// 合并两个数据集,这里以数值求和为例
const combinedData = {};
// 遍历国家代码(假设两个数据集的键完全匹配)
for (const code in ctrl.gdpData) {
    combinedData[code] = (ctrl.gdpData[code] || 0) + (ctrl.pdpData[code] || 0);
}

$('#world-map-gdp').vectorMap({
    map: 'world_mill',
    series: {
        regions: [{
            values: combinedData,
            scale: ['#C8EEFF', '#0071A4'],
            normalizeFunction: 'polynomial'
        }]
    },
    onRegionTipShow: function(e, el, code){
        el.html(el.html()+' (Deposit - '+ctrl.gdpData[code]+')'+' (Activation - '+ctrl.pdpData[code]+')');
    }
});

额外提醒

  • 确保ctrl.gdpData和ctrl.pdpData都是以国家代码为键、数值为值的对象(比如{ "US": 12345, "CN": 67890 }),这是jVectorMap要求的标准格式,普通数组会导致渲染失败。
  • 如果需要做数据集切换功能,可以给按钮绑定事件,通过map.series.regions[0].setValues(newData)方法动态替换数值集合。

内容的提问来源于stack exchange,提问作者manishk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:17:13