我正在使用newsignature(https://newsignature.github.io/us-map/)的US-Map插件。我建立了一个图表来比较每个州点击的不同州法律。
现在我可以比较3种不同的状态,用户可以关闭状态并点击不同的状态进行比较。
单击状态后,您将获得活动状态。一旦您单击另一个状态,即活动状态消失并进入另一个状态。我无法弄清楚如何为每个被点击的状态绑定一个活动状态。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.sakaiproject.rubrics</groupId>
<artifactId>rubrics-api</artifactId>
<version>10.4</version>
<scope>provided</scope> <!-- from the CONTAINER -->
</dependency>
<dependency>
<groupId>org.sakaiproject.rubrics</groupId>
<artifactId>rubrics-impl</artifactId>
<version>10.4</version>
</dependency>
</dependencies>
</dependencyManagement>
该行在点击时激活状态。我认为这需要应用于所有被点击的状态,但将其添加到点击状态不会做任何事情。
以下是设置当前功能的小提琴:https://jsfiddle.net/yurtqy87/1/
有什么想法吗?
注意:我只在纽约,加利福尼亚,格鲁吉亚,阿拉斯加,阿拉巴马和佛罗里达州提供数据,以节省时间。单击任何其他状态不会在下面的列中产生任何结果。
答案 0 :(得分:0)
我查看了库API和方法,你必须抓住它。我会用一个数组来存储所选的陈述。
var selectedStates = ['XX', 'YY', 'ZZ'];
创建后你可以用不同的方式为它们着色
stateSpecificStyles: {
'XX': {fill: 'red'},
'YY': {fill: 'red'},
'ZZ': {fill: 'red'}
}
当点击一个州时,如果它在选择中你应该删除它,如果不是你应该删除它
在“点击”处理程序中删除:
var toRemove = data.name;
selectedStates = jQuery.grep(selectedStates, function(value) {
return value != toRemove;
});
删除或添加状态后,只需刷新地图和用户界面。