Skip to content

echarts 使用高德地图作为底图

echarts-extension-amap 插件使用

前面已经使用 echarts 的散点图+极坐标画出了类似雷达图的效果,这次是希望将高德地图直接作为底图,而不是放一张静态的矢量图作为底图,而且由于区域较小,所以不能直接拿行政区划图导入 echarts 进行绘制 查了下,找到一个插件叫echarts-extension-amap,具体导入语句:

HTML
<!-- 导入高德 -->
 <script
    type="text/javascript"
    src="https://webapi.amap.com/maps?v=2.0&key=[高德的key]2&plugin=AMap.Scale,AMap.ToolBar"
  ></script>
  <!-- 导入echarts -->
  <script
    type="text/javascript"
    src="https://registry.npmmirror.com/echarts/5.5.0/files/dist/echarts.min.js"
  ></script>
  <!-- 导入echarts-extension-amap -->
  <script src="https://cdn.jsdelivr.net/npm/echarts-extension-amap/dist/echarts-extension-amap.min.js"></script>

echarts Option 设置

导入后的使用很简单,在 option 中设置 amap 属性即可

JavaScript
    option = {
      backgroundColor: 'transparent', // 设置图表背景色为透明
      amap: {
        center: [118.9148, 32.1137],
        zoom: 24,
        mapStyle: 'amap://styles/dark',//设置地图样式
      },
      //其他属性
    }

高德控件的加入

在这里添加了比例尺的控件,也可以添加高德的其他控件以及图层(控件要在开头导入),主要是在 echarts 渲染完后获取其中的高德地图的组件

JavaScript
// 获取 ECharts 高德地图组件
var amapComponent = chart.getModel().getComponent('amap');
// 获取高德地图实例,使用高德地图自带的控件(需要在高德地图js API script标签手动引入)
var amap = amapComponent.getAMap();
// 添加控件
amap.addControl(new AMap.Scale());
amap.addControl(new AMap.ToolBar());
// 禁用 ECharts 图层交互,从而使高德地图图层可以点击交互
amapComponent.setEChartsLayerInteractive(false);

如有转载或 CV 的请标注本站原文地址