如何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) 作为参考。希望对您有所帮助。