之前一篇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
脚本,替换到项目中,妥妥的解决了问题!