您可以漸變元素添加到地圖的<defs>
元素,然後將fill
屬性鏈接到其ID。要添加漸變您可以使用3d.js庫
初始化地圖,並設置填充屬性
$(function() {
$('#map').vectorMap({
map: 'world_mill_en',
regionStyle: {
initial: {
fill: 'url(#my-gradient)'
},
}
});
});
添加漸變定義與d3.js
$(function() {
var defs = d3.select('defs');
var myGradient = defs.append('linearGradient')
.attr('id', 'my-gradient')
.attr('x1', '0%')
.attr('y1', '100%')
.attr('x2', '100%')
.attr('y2', '0%');
myGradient.append('stop')
.attr('offset', '0%')
.attr('style', 'stop-color:rgb(255,255,255)')
.attr('stop-opacity', 1);
myGradient.append('stop')
.attr('offset', '100%')
.attr('style', 'stop-color:rgb(51,51,51)')
.attr('stop-opacity', 1);
});
我不認爲這是可能的,不修改jvectormap源。我相信jvectormap識別的屬性是'fill'和'fill-opacity'。 – dhc