使用AmCharts Map时,在点击事件时获取价值

时间:2016-08-31 03:33:48

标签: javascript jquery amcharts

问题: 我有一张AmCharts制作的地图。在一些帮助下,我能够在悬停时做到这一点,我可以显示每个州的信息。我想这样做,当我点击状态时,它会在div中显示下面的一些状态信息。

我的混乱思想: 起初我认为这需要管理“状态”,但我很确定使用“状态”#39;会有点矫枉过正。有了这个说,似乎应该是一个简单的问题,让点击事件显示我在悬停时得到的相同价值......但现在对我来说显然太难了(或者太晚了)。

部分代码:

$("#chartdiv").click(function() { // line 641
      document.getElementById('tempInfo').innerHTML = event.mapObject.infoTitle;
});

然后我想也许这会奏效:

map.addListener("click", function(event){ // line 637
  document.getElementById('tempInfo').innerHTML = event.mapObject.infoTitle; 
});

完整代码链接: http://codepen.io/anon/pen/PGYQxX?editors=0011

为我的无知和先发感恩的表达道歉: 我正在努力提高基础JS的水平,但与此同时,我试图通过我对其有较差理解的事情提供帮助。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

有一个名为clickMapObject的事件你可以听。它将为您提供作为参数获取的事件对象的一部分而单击的地图对象 由于您似乎不想使用jQuery,我改变了DOM操作以使用它。 (在我看来更好的可读性)

map.addListener("clickMapObject", function(event){
  $('#tempInfo').html(event.mapObject.infoTitle); // Changes with clicking
});

这是新的codepen