如何select AM 图表中只有一个国家javascript?
How to select only one country in AM charts javascript?
我希望在 select 一个新的国家/地区时取消select之前select的国家/地区。
我试过这段代码,除了其他没有给我想要的输出的东西。
当我在第一个国家之后点击第二个国家时,第一个国家被取消 selected 但当我再次悬停时,第一个国家再次被着色为 selected.
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;
});
我假设您使用了 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) 作为参考。希望对您有所帮助。
我希望在 select 一个新的国家/地区时取消select之前select的国家/地区。 我试过这段代码,除了其他没有给我想要的输出的东西。 当我在第一个国家之后点击第二个国家时,第一个国家被取消 selected 但当我再次悬停时,第一个国家再次被着色为 selected.
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;
});
我假设您使用了 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) 作为参考。希望对您有所帮助。