有没有办法使用 "fill" AND "stroke" 作为区域缩放颜色的属性?



我正在使用jvectormap v1.1,我有这件相关的代码:

var america = "#d84148";
var europe = "#0060d0";
var africa = "#44984d";
var asia = "#e3a430";
var oceania = "#2ecdd0";
series: {
    regions: [{
        values: data['colours'],
        scale: {
            "America" : america,
            "Europe" : europe,
            "Africa" : africa,
            "Asia" : asia,
            "Oceania" : oceania
        },
        normalizeFunction: 'linear',
        attribute: 'fill'
    }]
}

我获得的矢量数据是来自naturalearth.com的world_mill_en,它包含每个国家的1px分离,它是该国边界。我正在构建的申请必须显示整个大洲,因此不允许边界。

attribute上,我只能将fillstroke设置为参数,并且我可以在使用fill时为边界设置纯色。

我想知道是否可以与属性同时使用fillstroke。或者如果有一种方法可以将该地区的笔触设置为具有与各自区域相同的颜色。IE。

if (stroke == "none") 
{
    stroke = "that region's colour"
}

搜索各种示例后,我在此链接上遇到了我的解决方案:

https://github.com/bjornd/jvectormap/blob/master/tests/markers.html

我需要做的就是:

var america = "#d84148";
var europe = "#0060d0";
var africa = "#44984d";
var asia = "#e3a430";
var oceania = "#2ecdd0";
series: {
    regions: [{
        values: data['colours'],
        scale: {
            "America" : america,
            "Europe" : europe,
            "Africa" : africa,
            "Asia" : asia,
            "Oceania" : oceania
        },
        normalizeFunction: 'linear',
        attribute: 'fill'
    }, {
        values: data['colours'],
        scale: {
            "America" : america,
            "Europe" : europe,
            "Africa" : africa,
            "Asia" : asia,
            "Oceania" : oceania
        },
        normalizeFunction: 'linear',
        attribute: 'stroke'
    }]
}

这样就解决了问题。复制区域阵列中的整个部分,包括卷曲支架,将填充物更改为中风。

最新更新