報表中如何實現中國地圖鑽取到各省地圖

需求描述:

使用 Echarts 統計圖從中國地圖,點擊某一省份,在新的頁面中顯示該省份的地圖。

實現思路:

在國家地圖上添加 onclick 事件,點擊國家地圖中的省份,生成省份對應的 url, 其中將對應省份的名稱以參數傳遞,在省地圖報表中增加省份的參數,過濾出對應省份的數據,以及動態加載不同省份 echarts 模板中的地圖,在 echarts 統計圖展現的頁面中接收到省份對應的參數,動態在頁面加載出不同省份對應的 JS 文件。

具體實現:

1. 中國地圖報表製作。

在自帶實例地圖 \ 中國區域圖中的 Echarts 統計圖中添加事件如下:

myChart.on(‘click’,function(param){

window.open(‘showReport.jsp?rpx=/ 地圖 / 省地圖.rpx&province=’+param.name);

                  });

2. 省地圖報表的製作。

(1)新建名爲省地圖.rpx 的報表,在該報表中添加參數名爲 province。[size=18.6667px]

(2)數據集的創建

無論使用什麼類型的數據集,需要通過上一步驟中的 province 參數過濾出對應省份的數據。

例如:province 輸入江西,得到的數據應該是下面的形式:

(3)添加 echarts 統計圖

右鍵統計圖所在單元格的區域,選擇第三方統計圖,打開任意省份的 echartsJS 模板,然後在右側將原來 mapType 的固定值通過 mt 這個參數傳遞,mt 通過 province 給定。

在 echarts 所在目錄 \demo\raqsoft\echarts3\map\js\province 目錄下的各省份的 JS 改成中文名稱,例如 jiangxi.js 改爲江西.js。

在 echarts.jsp 中加上獲取 province 參數值的語句,然後在該頁面中加載到對應省份的 echarts 的 JS 模板。

設計器下發布中國區域地圖,在頁面上展現如下:

由於目前省份的數據集數據是內建的只是有江西的數據,所以,我們點擊江西的時候,可以在一個新的頁面中展現江西的數據。

QQ20180921131732jpg

點擊西藏可以彈出西藏的地圖,但因省份地圖沒有對應西藏的數據所以會顯示下方的效果。

QQ20180921131748jpg

注意事項:

1. 地圖中使用的數據集裏的省,市的名稱要和 Echarts 裏的對應,例如「北京」,避免寫成「北京市」。

2. 設計器下自帶的省份的 echarts 的 JS 模板都是省份的全拼,傳遞的參數默認是中文,所以就需要將自帶的模板的文件名改成中文。

作者:shiguang 鏈接:http://c.raqsoft.com.cn/article/1534487090393 來源:乾學院 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。