僅作記錄使用.
因項目需要, 需要實現(xiàn)點擊界面的某個按鈕觸發(fā)地圖的點擊事件, 將地圖上區(qū)域的名字顯示出來.
代碼實現(xiàn):
// name參數(shù)為點擊區(qū)域的名字, 譬如上圖所示為"武漢市"
var test = function(name) {
? ? // 構(gòu)建click事件請求參數(shù)
? ? var param = {
? ? ? ? target: {
? ? ? ? ? ? style: { _name: name },
? ? ? ? ? ? _mapType: ""
? ? ? ? },
? ? ? ? event: {}
? ? ? };
? ? ?// echart為地圖實例
? ? ?// 循環(huán)chart列表, 獲取地圖對象
? ? ?for( var chartList = echart._chartList, i = chartList.length; i--; ) {
? ? ? ? ? var o = chartList[i];
? ? ? ? ? ?// 如果為地圖
? ? ? ? ? if( "function" == typeof o["onclick"] && o["_mapTypeMap"] ) {
? ? ? ? ? ? ? ? ?o["isClick"] = true;? // 模擬點擊,騙過點擊邏輯
? ? ? ? ? ? ? ? ?param.target._mapType = o["_mapTypeMap"][name]; // 獲取點擊列表區(qū)域內(nèi)的上級名字
? ? ? ? ? ? ? ? ?o.__proto__.onclick.call(o, param);? // 觸發(fā)默認的點擊事件
? ? ? ? ? ? ? ? ?break;
? ? ? ? ? ?}
? ? ? }
}
PS: 我知道這個功能很無聊, 但這就是需求.....