查看bigemap的示例代码(http://www.bigemap.com/offlinemaps/demo/echarts_geolines.html

下载bigemap的地图

下载echarts依赖包

在vue项目中使用方法如下:(关键代码,剩下的设置echarts线条动画参照bigemap的模拟迁徙代码)

<template>
  <DataComWrapper
    title="地图数据"
  >
<!-- 设置地图容器 -->
    <div id="map" class="data-screen-map">
      loading...
    </div>
    <!-- <Map /> -->

  </DataComWrapper>
</template>

<script>

import { getInstance, init as initBM } from '../utils/bigemap-helper.js' //引入地图
import DataComWrapper from '../components/common/DataComWrapper' //引入公共组件
import echarts from 'echarts' //引入echarts

ecport default {
    name:'Map',
    components:{DataComWrapper},
    props:['data','info'],
    data(){
        return {}
    },
    computed: {
        deviceList() {
          // console.log('data:',this.data)
          return this.data
        },
        configInfo() {
          // console.log('info:',this.info)
          return this.info
        },
    },
     mounted() {
        this.init()
      },
    methods:{
         async init() {
              try {
                await initBM()
                this.map = getInstance()
              } catch (e) {
                // console.error(e)
              }
              window.echarts = echarts //拿到echarts
              const script = document.createElement('script') //创建一个script标签,引入public的js文件
              script.src = 'http://www.bigemap.com/Public/offline/iclient/js/iclient9.min.js'
              document.body.appendChild(script)
            //判断当条件都成立时,才显示;否则重新执行这个方法知道条件成立
              if (window.BM && window.BM.supermap && window.BM.supermap.echartsLayer) {
                await this.initDeviceInfo()
              } else {
                this.init()
              }
        },
    }
}

</script>        

若没有在vue项目中引进"http://www.bigemap.com/Public/offline/iclient/js/iclient9.min.js"文件,会报错,所以若在使用bigemap地图需要做类似的功能时,需要检查bigemap示例代码中引入的文件是否在下载bigemap地图时存在,若不存在则需要在组件中引入文件,否则将报错

01-03 15:33