使用 Echarts 和 Echarts 的百度地图扩展 bmap

安装:

npm安装:
  1. 百度地图API官网申请key,在index.html中引入百度地图:
    <script src="http://api.map.baidu.com/api?v=3.0&ak=申请的key"></script>
    
  2. 在webpack的配置文件中设置外部扩展:
    如果是Vue-cli2,在build/webpack.base.conf.js中加入以下代码:
    module.exports = {
    	......
    	//externals属性:防止将某些import的包package打包到bundle中,而是在runtime运行时再去从外部获取这些external dependencies扩展依赖
    	externals:{
    	    'BMap': 'BMap',
    	    'BMap_Symbol_SHAPE_POINT':'BMap_Symbol_SHAPE_POINT'
    	 }
    }
    
    如果是Vue-cli3,在vue.config.js中加入以下代码:
    module.exports = {
    	......
    	configureWebpack:{
    		externals:{
    	   	   'BMap': 'BMap',
    	   	   'BMap_Symbol_SHAPE_POINT':'BMap_Symbol_SHAPE_POINT'
    	    }
    	}
    }
    
  3. npm安装echarts:npm install echarts --save
  4. 如果是在全局引入:在main.js中加入以下代码:
    import echarts from 'echarts' //之后可以通过this.echarts来使用
    Vue.prototype.echarts = echarts 
    Vue.use(echarts )
    
    如果是在单个模块中引入:
    import echarts from 'echarts' //之后可以直接通过echarts来使用
    
  5. 在需要的组件中引入:
    //安装的是echarts完整包,里面包含百度地图扩展,路径为 echarts/extension/bmap/bmap.js,将其引入
    //ECharts的百度地图扩展,可以在百度地图上展现点图,线图,热力图等可视化
    require('echarts/extension/bmap/bmap')
    
CDN安装:
  1. 百度地图API官网申请key,在index.html中引入百度地图、Echarts和Echarts的百度地图扩展:
    <script src="http://api.map.baidu.com/api?v=3.0&ak=申请的key"></script>
    <script src="https://cdn.bootcss.com/echarts/4.7.0/echarts.min.js"></script>
    <script src="https://cdn.bootcss.com/echarts/4.7.0/extension/bmap.js"></script>
    
  2. 在webpack的配置文件中设置外部扩展:
    如果是Vue-cli2,在build/webpack.base.conf.js中加入以下代码:
    module.exports = {
    	......
    	externals:{
    	    'BMap': 'BMap',
    	    'BMap_Symbol_SHAPE_POINT':'BMap_Symbol_SHAPE_POINT',
    	     'echarts':'echarts'  //之后可以在组件中直接使用echarts
    	 }
    }
    
    如果是Vue-cli3,在vue.config.js中加入以下代码:
    module.exports = {
    	......
    	configureWebpack:{
    		externals:{
    	   	   'BMap': 'BMap',
    	   	   'BMap_Symbol_SHAPE_POINT':'BMap_Symbol_SHAPE_POINT',
    	   	    'echarts':'echarts'
    	    }
    	}
    }
    

使用:

初始化echarts和bmap:

var _this = this;

_this.echartsModel = this.echarts.init(document.getElementById('echartsMap'))
_this.echartsModel.setOption({
     bmap: {
         roam: true, // 用户是否可以拖放和缩放地图
         opt: { 
         	enableMapClick: false, //禁止地图底图的点击事件
         }
     },
     animation: false,//关闭动画效果,这样在地图上覆盖散点图或者热力图的时候,拖动将不会有比较长时间的延迟
     series: [],
});

// 添加百度地图插件bmp,获得地图对象,获取到的百度地图对象适用于所有的百度地图的接口。
_this.mapModel = _this.echartsModel.getModel().getComponent('bmap').getBMap();
//设置地图的中心点和缩放级别
_this.mapModel.centerAndZoom(new BMap.Point(_this.centerLng,_this.centerLat),_this.zoom);

事件绑定和解绑:

methods:{
	echartsEvent:function(){},
	mapEvent:function(){}
}

//给echarts添加事件/解除事件
echartsModel.on('click',echartsEvent);
echartsModel.off('click',echartsEvent);                        

//给地图添加事件/解除事件
mapModel.addEventListener("click",mapEvent );
mapModel.removeEventListener("click",mapEvent );
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值