Spaces:
Running
Running
## 百度地图扩展 | |
ECharts 百度地图扩展,可以在百度地图上展现 [点图](https://echarts.apache.org/zh/option.html#series-scatter),[线图](https://echarts.apache.org/zh/option.html#series-lines),[热力图](https://echarts.apache.org/zh/option.html#series-heatmap) 等可视化。 | |
### 示例 | |
[全国主要城市空气质量](https://echarts.apache.org/examples/zh/editor.html?c=effectScatter-bmap) | |
[北京公交路线](https://echarts.apache.org/examples/zh/editor.html?c=lines-bmap-bus) | |
[北京公交路线特效](https://echarts.apache.org/examples/zh/editor.html?c=lines-bmap-effect) | |
[杭州热门步行路线](https://echarts.apache.org/examples/zh/editor.html?c=heatmap-bmap) | |
[在地图上显示分箱图](https://echarts.apache.org/examples/zh/editor.html?c=map-bin) | |
### 引入 | |
可以直接引入打包好的扩展文件和百度地图的 jssdk | |
```html | |
<!-- 引入百度地图的 JS SDK,这里需要使用你在百度地图开发者平台申请的 ak --> | |
<!-- 如需使用百度地图 2.0 版本,请将 `v=3.0` 改为 `v=2.0` --> | |
<script src="https://api.map.baidu.com/api?v=3.0&ak="></script> | |
<!-- 引入 ECharts --> | |
<script src="dist/echarts.min.js"></script> | |
<!-- 引入百度地图扩展 --> | |
<script src="dist/extension/bmap.min.js"></script> | |
``` | |
如果是 webpack 打包,也可以 require 引入 | |
```js | |
require('echarts'); | |
require('echarts/extension/bmap/bmap'); | |
``` | |
插件会自动注册相应的组件。 | |
### 使用 | |
扩展主要提供了跟 geo 一样的坐标系和底图的绘制,因此配置方式非常简单,如下 | |
```js | |
option = { | |
// 加载 bmap 组件 | |
bmap: { | |
// 百度地图中心经纬度。默认为 [104.114129, 37.550339]。 | |
center: [120.13066322374, 30.240018034923], | |
// 百度地图缩放级别。默认为 5。 | |
zoom: 14, | |
// 是否开启拖拽缩放,可以只设置 'scale' 或者 'move'。默认关闭。 | |
roam: true, | |
// 百度地图的旧版自定义样式,见 https://lbsyun.baidu.com/custom/index.htm | |
mapStyle: {}, | |
// 百度地图 3.0 之后的新版自定义样式,见 https://lbsyun.baidu.com/index.php?title=open/custom | |
mapStyleV2: {}, | |
// 百度地图的初始化配置,见 https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a0b1 | |
mapOptions: { | |
// 禁用百度地图自带的底图可点功能 | |
enableMapClick: false | |
} | |
}, | |
series: [{ | |
type: 'scatter', | |
// 使用百度地图坐标系 | |
coordinateSystem: 'bmap', | |
// 数据格式跟在 geo 坐标系上一样,每一项都是 [经度,纬度,数值大小,其它维度...] | |
data: [ [120, 30, 1] ], | |
// 编码数据项中第三个元素作为 value 维度 | |
encode: { | |
value: 2 | |
} | |
}] | |
} | |
// 获取百度地图实例,使用百度地图自带的控件 | |
var bmap = chart.getModel().getComponent('bmap').getBMap(); | |
bmap.addControl(new BMap.MapTypeControl()); | |
``` | |