在vue3中如何使用百度地图API(详细步骤+demo示例)

news/2024/12/3 7:49:28/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、注册账号、申请成为开发者
  • 二、申请密钥AK
  • 三、在vue3.0中使用百度地图API


提示:以下是本篇文章正文内容,下面案例可供参考

一、注册账号、申请成为开发者

1、打开百度地图开放平台,点击开放文档中的JavaScript API
在这里插入图片描述
2、.通过百度账号注册成为百度地图开放平台开发者,选择开发者类型(个人/企业),完成开发者认证即可
在这里插入图片描述

二、申请密钥AK

JavaScript API只支持浏览端的AK进行接入与访问,请开发者在申请AK时注意选择正确的AK类型
1.进入百度地图开放平台官网控制台,点击**【应用管理】-【我的应用】
在这里插入图片描述2
、点击【创建应用】进入AK申请页面,填写应用名称,务必选择AK类型为“浏览器端”JS API只支持浏览器端AK进行请求与访问
在这里插入图片描述
3、为了防止您的AK被盗用,请您务必配置refer白名单,只有该白名单中的网站才能成功发起调用。如下方示例所示,配置了*.mysite.com*为域名白名单,即代表域名中包含.mysite.com的网站=才可以使用该AK访问JS API的服务
在这里插入图片描述
完成上边一系列工作就可以开始使用我们得接口文档啦!!

三、在vue3.0中使用百度地图API

注:本人使用的是setup函数,可以借鉴参考,也可以使用语法糖

1、首先在public文件夹下index.html中引入
在这里插入图片描述

<script type="text/javascript" src="//api.map.baidu.com/api?v=3.0&ak=你的AK"></script>

2、在组件中进行使用

<template><div class="homebox"><div class="head"><img class="headimg" src="./images/2.png" alt="" /><div class="icont"><p class="p">{{ nowTime }}</p><h1 class="h1">智慧照明综合管理平台</h1><button class="btn" @click="goTab">控制台</button><button class="btn2">设置</button></div></div><-- 设置放置地图的ref --><div class="mapp" ref="baiduRef"></div><div class="content"></div></div>
</template><script>
import * as echarts from "echarts";
import { useRouter } from "vue-router";
import axios from "axios";
import { onMounted, onUnmounted, ref, reactive, toRefs } from "vue";
export default {setup() {// 地图嵌入const baiduRef = ref();const map = ref();const point = ref();const marker = ref();function initMap(lng = 116.405725, lat = 39.935362) {map.value = new BMap.Map(baiduRef.value);//新建一个map地图实例point.value = new BMap.Point(lng, lat);//创建点//   console.log(point.value, 858585);marker.value = new BMap.Marker(point.value);//做标记map.value.centerAndZoom(point.value, 15);map.value.enableScrollWheelZoom(true); //滚轮缩放map.value.addOverlay(marker.value);//在地图上显示标记点//   样式id,设置样式的自定义map.value.setMapStyleV2({styleId: "1fb853a740649182c004c7f05e3f1ac7",});//   点击标注监听事件marker.value.addEventListener("click", function (e) {alert("您点击了标注");console.log(e,888888888);});}onMounted(() => {initMap();});return {baiduRef,//   map,//   point,//   marker};},
};
</script><style scoped>
.homebox {width: 100%;height: 100vh;position: relative;
}
.head {height: 100px;background: #071f4d;
}
.headimg {width: 100%;height: 100%;
}
.mapp {position: absolute;width: 100%;height: 100%;top: 100px;
}
.content {height: calc(100vh - 100px);display: flex;
}
</style>

3、样式展示
在这里插入图片描述



http://www.ppmy.cn/news/78560.html

相关文章

进程和编码

一、python代码的运行方式 1.脚本式 2. 交互式 一般用于代码的测试 二、进制及相互之间的转换 1. 进制 2.进制之间相互转换 在python中&#xff0c;十进制是以整形的形式存在&#xff0c;其他进制是已字符串的形式存在。 二进制/八进制/十六进制都可与十进制相互转换。但…

RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记

RES 新的数据集 Advancing Referring Expression Segmentation Beyond Single Image 论文笔记 一、Abstract二、引言三、相关工作3.1 Referring Expression Segmentation (RES)3.2 CoSalient Object Detection (CoSOD) 四、提出的方法4.1 概述文本 & 图像编码器TQM & H…

C嘎嘎~~[类 中篇]

类 中篇 6.类的实例化7.类对象模型8.this指针8.1this指针是什么8.2this指针的特性 6.类的实例化 什么叫类的 实例化?? 首先, 我们应该关注这个"实" — 实际存在的, 它的反义词是 “虚” — 不存在的. > 类中的成员变量是虚的(相当于声明), 在类外面创建的对象是…

lftp安装、使用

介绍 lftp 是一个功能强大的下载工具。lftp的界面非常想一个shell: 有命令补全&#xff0c;历史记录&#xff0c;允许多个后台任务执行等功能&#xff0c;使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。是一个基于命令行的文件传输软件&#xff08;…

Unity Lighting Mode

在Light中Mode设置为Mixed时&#xff0c;Lighting Mode&#xff08;在Window->Rendering->Light->Scene&#xff09;有三种选项如下图&#xff1a; Baked Indirect 烘焙间接光,效果最好性能最耗 混合光源照亮的动态游戏对象将接收&#xff1a; 实时直接光照。烘焙间接…

盘点团队在线帮助文档怎么做?

团队在线帮助文档是一个非常重要的工具&#xff0c;它可以帮助团队成员更好地协作和沟通&#xff0c;提高工作效率&#xff0c;并减少沟通成本。在本文中&#xff0c;我们将会盘点团队在线帮助文档的各个方面&#xff0c;以帮助您更好地了解如何创建一个高效的在线帮助文档。 …

无任何格外需求的命令行C++飞机大战,内含BOSS,动画,万行代码!免费奉上!

个程序的源码没有什么技术要求&#xff0c;一般至少能看懂95%&#xff0c;因为博主是大一上学期写着玩的&#xff0c;当写了一周&#xff0c;还拿它参加了学校的创意编程比赛&#xff0c;结果第一用的ui&#xff0c;直接降维打击了&#xff0c;拿了个二等奖 操作方法游戏内都有…

用于视频编辑和渲染的最佳GPU是什么?

购买新的图形卡&#xff08;GPU&#xff09;可能很困难&#xff0c;尤其是如果涉及您所不熟悉的所有技术问题。 显卡市场上的大多数消费者只需要了解显卡在自己喜欢的游戏中的性能&#xff0c;并确定购买决定即可。但是&#xff0c;如果您想购买GPU进行视频编辑或3D渲染&#…