一、概述
echarts bmap是由百度地图和echarts结合,实现了在echarts地图中使用百度地图底图,同时融合了echarts中数据可视化功能。通过bmap,我们可以在网页上通过图表展现地理信息。
在使用echarts bmap前,我们需要首先引进百度地图JavaScript API和echarts.js文件。然后,初始化百度地图:
// 引入百度地图JS API <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=[your-key]"> // 引入echarts.js文件 <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"> // 初始化地图容器 var myChart = echarts.init(document.getElementById('map')); var bmap = myChart.getModel().getComponent('bmap').getBMap();
二、bmap常用配置
1、设置地图中心点和缩放级别:
// 设置地图中心和缩放级别 bmap.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
2、添加控件:
// 添加缩放、平移控件 bmap.addControl(new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_RIGHT })); // 添加比例尺控件 bmap.addControl(new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }));
3、设置地图样式:
// 自定义地图样式 bmap.setMapStyleV2({ styleId: 'your-style-id' });
4、启用地图拖拽、缩放、滚轮缩放:
// 启用地图拖拽 bmap.enableDragging(); // 启用滚轮缩放 bmap.enableScrollWheelZoom(); // 启用双击放大 bmap.enableDoubleClickZoom(); // 启用缩放按钮 bmap.enablePinchToZoom();
三、在bmap上添加echarts图表
在echarts中添加bmap组件,代码为:
option = { // 设置bmap组件 bmap: { center: [116.404, 39.915], zoom: 11, roam: true, mapStyle: { styleJson: [ { 'featureType': 'water', 'elementType': 'all', 'stylers': { 'color': '#d1d1d1' } }, { 'featureType': 'land', 'elementType': 'all', 'stylers': { 'color': '#f3f3f3' } }] } }, series: [ // 设置散点图 { type: 'scatter', coordinateSystem: 'bmap', data: [ [116.405, 39.915], [116.404, 39.915], [116.403, 39.915], [116.402, 39.915], [116.401, 39.915] ], } ] }; // 将option赋给echarts实例 myChart.setOption(option);
在上述代码中,我们通过设置bmap组件来添加echarts图表,散点图通过”type”:”scatter”来定义,”coordinateSystem”:”bmap”表示在bmap组件上绘制散点图,散点图数据通过”data”来设置。
四、bmap事件
通过bmap的事件函数,我们可以对地图上的交互进行响应,常用事件有click、dblclick、mouseover、mouseout等。以单击事件为例:
// 用户单击bmap组件会触发的事件函数 bmap.addEventListener('click', function (e) { // 获取单击点的经纬度信息 var lng = e.point.lng; var lat = e.point.lat; console.log(lng, lat); });
五、结语
通过以上的介绍,我们可以看到echarts bmap提供了丰富的地理信息展示功能,通过简单的配置和API调用,我们可以在网页中添加地图、图表,实现数据可视化。