在jvectormap中设置单个区域的样式

Mar*_*ura 5 maps jquery svg region jvectormap

所以,

我有一个自定义的jVectorMap,我已经成功地使用jVectorMap API中的代码更改了区域的颜色:

regionStyle: {
      initial: {
      fill: '#5e7073',
      "fill-opacity": 1,
      stroke: 'none',
      "stroke-width": 0,
      "stroke-opacity": 1
      },
      hover: {
      fill: 'black'
      }, 
Run Code Online (Sandbox Code Playgroud)

但我正试图单独控制地图每个区域的填充/悬停属性.有没有人这样做过或者想过如何实现它?我查看了jVectorMap API但无济于事.

马卡报

Dav*_*vid 14

首先,您需要知道您正在更改的区域的代码.您从正在使用的地图文件中获取这些内容.以下示例适用于美国地图.

要更改填充,您可以在创建地图时自定义区域:

regionStyle: {
    //...
},
series: {
    regions: [{
        values: {
            'US-CA': '#3e9d01',
            'US-WA': '#4b93c1',
            'US-TX': '#c1a14b'
        },
        attribute: 'fill'
    }]
}
Run Code Online (Sandbox Code Playgroud)

或者您可以即时自定义它们(并且上面的"值"参数不是必需的):

$(function(){
    var map = $('#map').vectorMap('get', 'mapObject');
    map.series.regions[0].setValues({
        'US-CA': '#3e9d01'
    });
});
Run Code Online (Sandbox Code Playgroud)