如何在AM图表JavaScript中仅选择一个国家/地区?

时间:2019-02-27 15:00:46

标签: javascript amcharts

我希望在选择新国家时取消选择先前选择的国家。 除了其他无法提供所需输出的内容之外,我还尝试了此代码。 当我单击第一个国家之后的第二个国家时,第一个国家被取消选择,但是当我再次悬停时,第一个国家再次被选择为彩色。

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;
});

1 个答案:

答案 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)作为参考。希望有帮助。