2

私は 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 であり、各国の国境として機能する 1 ピクセルの区切りが含まれています。私が構築しているアプリケーションは、大陸全体を表示する必要があるため、国境は許可されません。

ではパラメータとしてまたはattributeのみを設定できます。fillstrokefill

fillANDstrokeを属性として同時に使用できるかどうかを知りたいです。または、領域のストロークをそれぞれの領域と同じ色に設定する方法がある場合。すなわち。

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

1 に答える 1

2

さまざまな例を検索した後、このリンクで私のソリューションに出会いました。

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'
    }]
}

それで、問題は解決しました。中かっこを含む領域配列内のセクション全体を複製し、塗りを線に変更します。

于 2012-11-13T09:40:52.847 に答える