之前一篇echarts+百度地圖API實現自定義底圖後,這次測試提出了bug:地圖上的點可點擊,彈出地點信息。於是開始研究如何去掉底圖可點的功能。上網搜索無果後,還是自己研究吧。
首先確定這個底圖是地圖提供而非Echarts,所以去百度地圖查看API,發現在初始化Map的時候設置一個配置即可實現:enableMapClick:boolean
。但是地圖初始化是在echarts中進行的,所以只能想別的方法。
又在API中找是否有設置該功能的方法,然鵝,並沒有!!
無奈只能回頭想招。因爲在echarts內部初始化的百度地圖,在options中也有相應的參數,拿上一篇博客的代碼:
bmap: {
center: [102.84093, 24.94741],
zoom: 13,
roam: true,
//嘗試在這裏寫屬性:enableMapClick:false
mapStyle:{...}
}
然鵝。。。依然沒用。
難道是屬性名稱不對,是不是echarts中改了屬性名?於是github上扒代碼:https://github.com/ecomfe/echarts。
找啊找啊找,終於在echarts\extension\bmap\BMapCoordSys.js的126行
找到了初始化地圖的代碼
沒辦法,只能上手改這了
var bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, {
enableMapClick: false
});
下一步就是打包了。發現echarts團隊特別良心,在echarts\build
目錄下有個build.sh的shell腳本,雙擊執行,即可自動打包。然後在dist目錄下找到我們需要的bmap.min.js
腳本,替換到項目中,妥妥的解決了問題!