vue项目接入百度地图
方法一 :使用第三方工具
vue-baidu-map
安装命令:
yarn add vue-baidu-map --save
文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/start/usage
案例01:https://blog.csdn.net/playboyanta123/article/details/86514891
案例02:https://www.cnblogs.com/wangqi2019/p/11040239.html
为了页面流畅,建议还是局部引用(觉得这三个满足一般的需求了),如下:
import { BaiduMap, BmScale, BmGeolocation } from 'vue-baidu-map'
然后注入依赖:
components: {
BaiduMap,
BmGeolocation,
BmScale
},
HTML代码,在需要引入百度地图的地方加入下面代码
<!--接入百度地图-->
<baidu-map style=" height: 600px;" :center="map_center" :zoom="my_zoom"
:scroll-wheel-zoom="my_scroll_wheel_zoom"
class="baidu-map-view"
@ready="map_handler" ak="分配给你的百度key">
</baidu-map>
如果没有百度地图key就去申请一个,申请网址:http://lbsyun.baidu.com/index.php?title=jspopular/guide/getkey
如果需要对地图进行事件处理,必须要在ready事件之后,否者取不到BMap对象!
ready 是在地图组件渲染完毕时触发,返回一个百度地图的核心类和地图实例——{BMap, map}。百度地图组件是异步加载,不要在组件的生命周期中访问 BMap 核心类和 map 实例,如有需要,请在所需组件的 ready 事件回调函数的参数中获取。
看代码:
// 地图初始化回调
map_handler({ BMap, map }) {
this.BMap = BMap
this.map = map
},
其中,BMap是百度地图的对象,直接new出来跟原始的百度地图API一样使用,map是地图对象,可以调用对应的地图方法,比如添加坐标点等。
获取到地图的BMap和map之后,剩下的操作就可以直接参照百度地图官方api接口了,对,就是这样子。
百度地图官方api demo:http://lbsyun.baidu.com/jsdemo.htm#canvaslayer
小案例(给地图设置点击获取经纬度坐标并标点):
this.map.addEventListener('click', (e) => {
const point = new this.BMap.Point(e.point.lng, e.point.lat)
const marker = new this.BMap.Marker(point) // 设置点击位置
map.clearOverlays() // 清空地图上其他红色位置标识
map.addOverlay(marker) // 添加指定点
})
希望对你有用!
方法二:引入百度地图JS
在 index.html 添加百度地图的 script
<script src="http://api.map.baidu.com/api?v=3.0&ak=你的百度地图秘钥(ak)&callback=bMapInit"></script>
webpack.base.conf.js添加externals配置,内容如下,与entry平级:
entry: {
app: ['babel-polyfill', './src/main.js']
},
externals: {
'BMap': 'BMap'
},
在调用百度地图的组件中引用:
import BMap from 'BMap'
在需要接入地图的界面引入地图
<div id="map-core"></div>
然后就可以写方法进行逻辑操作
this.map = new BMap.Map('map-core')
this.map.centerAndZoom(new BMap.Point(113.275, 23.117), 10)
然后就可以根据百度地图官方api进行逻辑编写。
希望对你有用!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!