vue使用百度地图API

使用步骤

1.注册百度账号,申请成为百度开发者,获取服务密钥(ak)、使用相关服务;
2.vue项目映入key,配置百度地图API;
3.使用相关服务

示例

1.注册账号、申请服务密钥
注册账号、申请服务密钥跟着官网教程即可,我这边使用的是JavaScript API v3.0版本,官网链接地址如下:
https://lbsyun.baidu.com/index.php?title=jspopular3.0
2.vue项目引入key
我这边用的是vue3.x版本,版本不同有部分偏差的话可以看官方文档,主要是vue.config.js文件中需要配置一下。
首先,在public/index.html文件中输入申请的key:
关键代码:

<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=输入申请的密钥key"></script>

index.html文件具体代码:

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
      <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=输入申请的密钥key"></script>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

其次,在vue.conifg.js文件中配置BMap
关键代码:

configureWebpack: {
    externals: {
      BMap: 'BMap'
    }
  }

vue.config.js文件完整代码(由于是示例,所以其他的配置一律没写,只有关键配置):

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  configureWebpack: {
    externals: {
      BMap: 'BMap'
    }
  }
})

最后,在vue文件中通过import引入BMap,如下所示:
注意:如果不在vue.config.js配置BMap的话直接import是无法使用的

<template>
  <div id="mapContainer" style="height: 600px;width: 100%"></div>
</template>

<script>
import { onMounted, ref } from 'vue';
import BMap from 'BMap'

export default {
  name: 'BaiduMap',
  setup() {
    let map = null;

    const initMap = () => {
      // 创建地图实例
      map = new BMap.Map('mapContainer');
      // 初始化地图,设置中心点坐标和地图级别
      map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
    }
    
    onMounted(() => {
      initMap();
    });
  },
};
</script>

这样最简单的地图渲染就出来,这边用的是vue3的语法,如果是vue2的话请自行转换一下。效果如下:
在这里插入图片描述
3.使用相关服务
使用相关服务可以查看我百度地图API专栏中的笔记,查看是否有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值