我正在尝试使用美国地图jQuery插件来创建地图。我将有一些我不会使用的状态。我想收集这些状态并将它们设置为特定的颜色。我尝试了许多不同的尝试,都无济于事。这是一个简化的代码示例,以帮助说明我正在尝试执行的操作。

var disabledStates = ['OH', 'TX'];

$('#map').usmap({
   stateSpecificStyles: {
      disabledStates.forEach(function (state) {
         state: { fill: 'yellow' }
      });
   }
});


显然,此代码不起作用。只需将其发布即可了解我要完成的工作。

最佳答案

您可以先创建状态样式对象,然后应用它:

var disabledStates = ['OH', 'TX'];

// Array to object.
var myStyles = {}
for (var i = 0; i < disabledStates.length; i++) {
    myStyles[disabledStates[i]] = {fill: 'yellow'};
}

// Apply object.
$('#map').usmap({
    stateSpecificStyles: myStyles
});

09-25 19:35