127f117c06618c44cdc8d633698948fc21a6f6a39fe8fcd4f28acbe5d37fcd083a59266722b216ca8a7670e6674c1b7e0a815063fd8d64141c9eb3ce518388 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. ## 百度地图扩展
  2. ECharts 百度地图扩展,可以在百度地图上展现 [点图](https://echarts.apache.org/zh/option.html#series-scatter),[线图](https://echarts.apache.org/zh/option.html#series-line),[热力图](https://echarts.apache.org/zh/option.html#series-heatmap) 等可视化。
  3. ### 示例
  4. [全国主要城市空气质量](https://echarts.apache.org/examples/zh/editor.html?c=effectScatter-bmap)
  5. [北京公交路线](https://echarts.apache.org/examples/zh/editor.html?c=lines-bmap-bus)
  6. [北京公交路线特效](https://echarts.apache.org/examples/zh/editor.html?c=lines-bmap-effect)
  7. [北京公交路线特效](https://echarts.apache.org/examples/zh/editor.html?c=lines-bmap-effect)
  8. [杭州热门步行路线](https://echarts.apache.org/examples/zh/editor.html?c=heatmap-bmap)
  9. ### 引入
  10. 可以直接引入打包好的扩展文件和百度地图的 jssdk
  11. ```html
  12. <!--引入百度地图的jssdk,这里需要使用你在百度地图开发者平台申请的 ak-->
  13. <script src="http://api.map.baidu.com/api?v=2.0&ak="></script>
  14. <!-- 引入 ECharts -->
  15. <script src="dist/echarts.min.js"></script>
  16. <!-- 引入百度地图扩展 -->
  17. <script src="dist/extension/bmap.min.js"></script>
  18. ```
  19. 如果是 webpack 打包,也可以 require 引入
  20. ```js
  21. require('echarts');
  22. require('echarts/extension/bmap/bmap');
  23. ```
  24. 插件会自动注册相应的组件。
  25. ### 使用
  26. 扩展主要提供了跟 geo 一样的坐标系和底图的绘制,因此配置方式非常简单,如下
  27. ```js
  28. option = {
  29. // 加载 bmap 组件
  30. bmap: {
  31. // 百度地图中心经纬度
  32. center: [120.13066322374, 30.240018034923],
  33. // 百度地图缩放
  34. zoom: 14,
  35. // 是否开启拖拽缩放,可以只设置 'scale' 或者 'move'
  36. roam: true,
  37. // 百度地图的自定义样式,见 http://developer.baidu.com/map/jsdevelop-11.htm
  38. mapStyle: {}
  39. },
  40. series: [{
  41. type: 'scatter',
  42. // 使用百度地图坐标系
  43. coordinateSystem: 'bmap',
  44. // 数据格式跟在 geo 坐标系上一样,每一项都是 [经度,纬度,数值大小,其它维度...]
  45. data: [ [120, 30, 1] ]
  46. }]
  47. }
  48. // 获取百度地图实例,使用百度地图自带的控件
  49. var bmap = chart.getModel().getComponent('bmap').getBMap();
  50. bmap.addControl(new BMap.MapTypeControl());
  51. ```