2016-08-31 41 views
1

問題: 我有一張使用AmCharts製作的地圖。藉助一些幫助,我可以在懸停時完成這項工作,我可以顯示每個州的信息。我想這樣做,當我點擊一個狀態時,它會在div中顯示下面的一些狀態信息。在使用AmCharts時獲得點擊事件的價值地圖

我混亂的思想: 起初我以爲這將需要管理「國家」,但我敢肯定,用「國家」將是矯枉過正。有了這個說法,似乎它應該是一個簡單的問題,讓點擊事件顯示與懸停時相同的值...但對我來說顯然太困難了(或者太晚了)。

一些代碼:

$("#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

有一個事件叫clickMapObject,你可以聽。它會爲您提供您作爲參數獲取的事件對象的一部分所點擊的地圖對象。
因爲你似乎不打擾使用jQuery,所以我改變了DOM操作來使用它。 (在我看來更好的可讀性)

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

這裏是新的codepen