Echarts+vue-baidu-map绘制行驶路线

依赖下载

首先要在Vue项目中结合vue-baidu-map和ECharts绘制行驶路线,需要先安装并导入相关的库

npm install vue-baidu-map echarts --save

注册引入

Echarts引入详情 官网查看

import * as echarts from 'echarts';

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 绘制图表
myChart.setOption({
  title: {
    text: 'ECharts 入门示例'
  },
  tooltip: {},
  xAxis: {
    data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
  },
  yAxis: {},
  series: [
    {
      name: '销量',
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }
  ]
});

vue-baidu-map引入详情 官网查看
在vue.config.js文件中

import Vue from 'vue'
import BaiduMap from 'vue-baidu-map'

Vue.use(BaiduMap, {
  // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: 'YOUR_APP_KEY'
})

到这里我们的准备工作就完成了下面开始上代码

核心代码

<template>
  <baidu-map class="map" @ready="handler">
    <div class="echarts" :style="{width: '100%', height: '100%'}">
      <div ref="chart" :style="{width: '100%', height: '100%'}"></div>
    </div>
  </baidu-map>
</template>
 
<script>
import BaiduMap from 'vue-baidu-map/components/Map/Map.vue'
import * as echarts from 'echarts'
 
export default {
  components: {
    BaiduMap
  },
  data() {
    return {
      chartInstance: null,
      map: null
    }
  },
  methods: {
    handler({ BMap, map }) {
      this.map = map
      this.initChart()
      // 假设你已经有了行驶路线的数据
      const drivingPath = [] //经纬度点数组
      this.drawDrivingPath(drivingPath)
    },
    initChart() {
      this.chartInstance = echarts.init(this.$refs.chart)
      const option = {
        // ECharts 配置项
      }
      this.chartInstance.setOption(option)
    },
    drawDrivingPath(path) {
      if (this.chartInstance) {
        const series = {
          type: 'lines',
          coordinateSystem: 'BD_09', // 使用百度地图坐标系
          data: path.map(point => [point.lng, point.lat])
          // 其他配置项
        }
        this.chartInstance.setOption({ series: [series] })
      }
    }
  }
}
</script>
 
<style>
.map {
  width: 100%;
  height: 80%;
}
.echarts {
  position: relative;
  width: 100%;
  height: 100%;
}
</style>

在上述代码中,我们在模板中引入了baidu-map组件,并在其上添加了一个用于ECharts的div容器。在handler方法中,我们获取了百度地图实例,并初始化了ECharts实例。然后,我们假设有行驶路线的数据,通过drawDrivingPath方法将路线绘制在地图上。
请注意,如果你已经有了行驶路线的数据和const series = {...}中的注释部分,你需要替换路线数据和ECharts的配置项。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue项目中使用百度地图进行点的绘制,你可以按照以下步骤进行操作: 1. 首先,在你的Vue项目中安装 vue-baidu-map 插件。可以通过以下命令进行安装: ``` npm install vue-baidu-map --save ``` 2. 在你的Vue组件中引入 vue-baidu-map: ```vue <template> <div> <baidu-map :ak="yourBaiduMapAK" v-if="loaded"></baidu-map> </div> </template> <script> import { BaiduMap } from 'vue-baidu-map' export default { components: { BaiduMap }, data() { return { yourBaiduMapAK: 'yourBaiduMapAK', loaded: false } }, mounted() { // 在mounted钩子函数中设置地图加载完成后的回调函数 this.$nextTick(() => { this.loaded = true this.initMap() }) }, methods: { initMap() { // 初始化地图 // 创建地图实例 let map = new BMap.Map("map-container") // 设置地图中心点 let point = new BMap.Point(116.404, 39.915) map.centerAndZoom(point, 15) // 创建标注物 let marker = new BMap.Marker(point) // 将标注物添加到地图中 map.addOverlay(marker) } } } </script> ``` 3. 在 `yourBaiduMapAK` 的位置,替换为你自己的百度地图开发者AK(API Key),可以在百度地图开放平台申请获取。 4. 在 `initMap` 方法中,可以根据需要设置地图的中心点和缩放级别,然后创建标注物,并将其添加到地图中。 5. 在页面中添加一个容器,用于渲染地图: ```html <div id="map-container"></div> ``` 这样,你就可以在Vue项目中使用 vue-baidu-map 插件进行点的绘制了。记得替换 `yourBaiduMapAK` 为你自己的百度地图开发者AK。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值