如何在jvectormap中更改填充颜色或隐藏未在“选择点击”上选择的其他大陆

时间:2014-07-31 02:24:48

标签: jvectormap

我已经处理了onHover事件,例如当我在亚洲的任何国家/地区上空时,所有亚洲国家都将是红色的。我想要做的就是当我点击亚洲国家时,它将专注于亚洲,隐藏或改变其他大陆的颜色。是否有可能做到这一点 ?任何想法家伙?提前谢谢..

1 个答案:

答案 0 :(得分:0)

为了将焦点设置在某个区域,有一个名为setFocus()的方便方法。 jVectorMap documentation详细介绍了这一点。这里的参数是您的地区代码。

map.setFocus('India');

如果要更改未选区域的颜色,可以将所选区域的列表与不包含区域的列表进行比较,并构建要在地图上设置的数组。这至少应该指向正确的方向。您的实施可能会有所不同。

var allRegions = map.regions;
var selectedRegions = map.getSelectedRegions();
var unselectedColor = '#4E7387';
var unselectedRegions = new Array();

for (var i in allRegions) {
    var isSelected = false;
    for (var j = 0; j < selectedRegions.length; j++) {
        if (i == selectedRegions[j])
            isSelected = true;
    }
    if (!isSelected)
        unselectedRegions[i] = unselectedColor;
}
map.series.regions[0].setValues(unselectedRegions);