Vue3实现百度地图可视化

1、写在前面

Hello!这篇笔记将会介绍如何在Vue3.0框架中导入地图,通过vue-echarts展现。

2、基本步骤

  1. vue-cli创建Vue3.0项目
  2. 安装echarts & vue-echarts插件
  3. 获取ak
  4. 对接地图(引入地图的扩展bmap,bmap中添加属性)

好啦,了解了基本步骤后,我们就开始吧!上车了,出发!

3、安装echarts & vue-echarts插件

1、安装echarts和vue-echarts插件:npm install echarts vue-echarts

1.1:Q:为什么要使用vue-echarts插件?

A: 使用vue-echarts插件后,不用像echarts绘制图表时要document.getElementById()获取画布的DOM元素和调用init()方法初始化,插件封装后在一定程度上进行了简化。

2、main.js中引入 & 注册 echarts 和 vue-echarts插件,在项目入口文件中进行全局导入。

js 复制代码
import { createApp } from 'vue'
import App from './App.vue'
// 引入 echarts
import * as echarts from 'echarts'
import VueECharts from 'vue-echarts'

const app = createApp(App);
// 全局挂载 echarts
app.config.globalProperties.$echarts = echarts
app.component('v-chart', VueECharts);
app.mount('#app');

4、获取ak

在后面的一个步骤中,我们要在项目中对接百度api的接口,这个api接口的参数部分包含了一个叫ak的参数,我们要首先获取到这个ak值才能对接上百度的接口。

1、访问地址:lbsyun.baidu.com/

2、顶部tab栏点击【控制台】,点击后需要进行注册,注册完成后登录。

3、应用管理 --> 我的应用 --> 创建应用 --> 应用类型选择浏览器端。

4、应用创建成功后,会生成一个ak编码,这个ak码我们将会使用到。

5、项目对接地图

1、配置地图api接口,public/index.html ,url两个参数,参数v最好写3.0,参数ak就是我们创建应用生成的ak。

js 复制代码
https://api.map.baidu.com/api?v=3.0&ak=[akvalue]

2、引入地图的扩展,引入后才可以在echarts中使用bmap属性对地图样式进行扩展

import 'echarts/extension/bmap/bmap';

3、配置bmap:bmap我配置了3个地图属性centerzoomroam

4、style中的优化:定制画布大小 & 去掉左下角地图logo和连接

代码:

js 复制代码
<template>
  <v-chart :option="options"></v-chart>
</template>

<script>
import { reactive } from "vue";
// 引入地图的扩展
import "echarts/extension/bmap/bmap";
export default {
  name: "App",
  setup() {
    const options = reactive({
      bmap: {
        // 地图中心点(经纬度)
        center: [104, 38],
        // 缩放比例
        zoom: 5,
        // 是否允许缩放
        roam: false,
      },
    });
    return { options };
  },
};
</script>

<style lang="scss">
.ec-extension-bmap {
  margin: 20px;
  width: 840px !important;
  height: 680px !important;
}
.anchorBL {
  display: none;
}
</style>

6、写在最后

OK!到这里,相信地图就绘制完成拉!图表每每成功展示在项目中后,都会有一丢丢的小激动,bmap还有更多的属性(mapStyle...)等待探索。

后面还可以基于该地图进一步的定制渲染或集成ECharts图表(例如地图 + 散点图展示各地市某产品销量大盘等需求)进行更复杂的定制化开发。

此章作为基础篇,如有任何问题随时分享,一起共同进步。

相关推荐
啊花是条龙2 天前
《产品经理说“Tool 分组要一条会渐变的彩虹轴,还要能 zoom!”——我 3 步把它拆成 1024 个像素》
前端·javascript·echarts
@AfeiyuO7 天前
Vue3 饼图定制图
vue·echarts
瞎子拍照8 天前
echarts自定义主题样式与组件配置、数据滚动条和数据自动轮播功能
前端·javascript·echarts
叫我:松哥8 天前
基于django的新能源汽车租赁推荐分析系统,包括用户、商家、管理员三个角色,协同过滤+基于内容、用户画像的融合算法推荐
python·算法·机器学习·pycharm·django·汽车·echarts
裴嘉靖9 天前
Vue + ECharts 实现图表导出为图片功能详解
前端·vue.js·echarts
xiaohe060111 天前
📦 Uni ECharts 是如何使用定制 echarts 的?一篇文章轻松掌握!
vue.js·uni-app·echarts
哟哟耶耶12 天前
component-svg圆环进度百分比图(顶部文本,中间图形,底部文本)
前端·css·echarts
哟哟耶耶12 天前
component-Echarts圆环数据展示-延长线,label,鼠标移动提示,圆环数据中心总数,信息面板
前端·javascript·echarts
我爱学习好爱好爱12 天前
Springboot+OSHI+Vue+ECharts 全栈监控系统
vue.js·spring boot·echarts