echarts3 + 百度地图API展示自定义地图

来源:互联网 发布:天津日报大厦知乎 编辑:程序博客网 时间:2024/05/17 22:52

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

原创粉丝点击