我希望在选择新国家时取消选择先前选择的国家。 除了其他无法提供所需输出的内容之外,我还尝试了此代码。 当我单击第一个国家之后的第二个国家时,第一个国家被取消选择,但是当我再次悬停时,第一个国家再次被选择为彩色。
polygonTemplate.events.on("hit", function (event) {
if (currentActive) {
currentActive.setState("default");
}
chart.maxZoomLevel = 32;
currentActive = event.target;
currentActive.properties.fill = colorSet.getIndex(4);
chart.maxZoomLevel = 32;
});
答案 0 :(得分:0)
我假设您使用了this示例。
首先,您应该为地图定义一个active
状态:
var activeState = polygonTemplate.states.create("active");
activeState.properties.fill = chart.colors.getIndex(4);
现在,在您的hit
事件回调中,您可以切换event.target.isActive
并从先前选择的国家/地区重置活动状态。
var currentActive;
polygonTemplate.events.on("hit", function(ev) {
if (currentActive) {
currentActive.isActive = false;
}
currentActive = ev.target;
currentActive.isActive = true;
});
我创建了一个(code pen)作为参考。希望有帮助。