百度地图 【vue-baidu-map-3x】-支持vue3/vue2
前提: BMap BMapGL vue-baidu-map-v3 区别
百度原生地图:BMap
和 BMapGL
是百度地图(Baidu Map)提供的两种不同类型的地图API。 它们主要用于在网页中嵌入和展示地图。这两种API各有特点,适用于不同的场景和需求。此外,提到 vue-baidu-map-v3
是基于 Baidu Map API 的一个封装,用于 Vue.js 框架中的地图开发。下面分别介绍它们之间的区别和各自的特点:
1. BMap 和 BMapGL,是百度原生地图
BMap
-
类型:主要用于普通的地图显示,包括基本的地图功能如标记、路线规划等。
-
特点:适用于需要展示常规地图功能的场景,比如普通的地图浏览、地点查找等。
-
使用场景:适合不需要高精度地图显示的普通Web应用。
BMapGL
-
类型:主要用于矢量地图显示,提供更丰富的地图操作接口和更高的自定义能力。
-
特点:相比于BMap,BMapGL提供了更多的矢量图层支持,适合需要精细控制地图样式、进行复杂交互操作的场景,如地图编辑、GIS应用等。
-
使用场景:适合需要高精度地图显示、复杂交互的Web应用,如地图编辑工具、GIS系统等。
2. vue-baidu-map-v3,封装百度地图
vue-baidu-map-v3
是基于 Vue.js 的一个封装库,它提供了更简便的方式在 Vue 项目中使用百度地图API(包括 BMap 和 BMapGL)。这个库封装了百度地图的API,使得在Vue组件中嵌入和使用百度地图变得更加简单和直观。
特点:
-
集成方便:通过简单的配置和组件调用,可以在Vue项目中快速集成百度地图。
-
Vue风格:利用Vue的响应式数据绑定和组件化开发的优势,使得地图的使用更加符合Vue的开发习惯。
-
API友好:封装了百度地图的API,同时保留了百度地图API的大部分功能,使得开发者可以灵活使用百度地图的各种功能。
总结
选择使用 BMap
、BMapGL
还是 vue-baidu-map-v3
取决于你的具体需求:
-
如果你只是需要展示一个基本的地图,并且不特别关心矢量图层或者高级功能,可以选择
BMap
。 -
如果你需要更精细的地图控制或者矢量图层支持,应该选择
BMapGL
。 -
如果你在使用Vue.js并且希望更方便地集成百度地图,那么
vue-baidu-map-v3
是个不错的选择。
vue-baidu-map-3x(支持vue3/vue2版本和webGl api)
步骤2:引入 & 注册
<template> <div class="content"> <P> https://map.heifahaizei.com/doc/begin/install.html - npm install vue-baidu-map-3x --save </P> <baidu-map class="bm-view" :zoom="12" :center="{lng: 102.6976218355306, lat:25.0407935}" > <bm-marker :position="{lng: 102.6976218355306, lat:25.0407935}" :dragging="true" ></bm-marker> <bm-marker :position="{lng: 102.6976218355306, lat:25.0490}" :dragging="true" :mapStyle="mapStyle"></bm-marker> </baidu-map> </div> </template> <script setup> import { ref } from 'vue'; //https://lbs.baidu.com/apiconsole/custommap //https://lbs.baidu.com/customv2/editor/26e6ad36dabc2cefc9961cb7a870da9d/chuxing const mapStyle = ref({ styleJson:[] }); //钩子函数 onBeforeMount(() => { }) </script> <style lang="less" scoped> .content, .bm-view { width: 100%; height: 300px; } /* 去除百度地图版权 去除右上角[地图、卫星、三维]控件 去除百度地图右上角平移缩放控件的市县区文字 */ ::v-deep .anchorBL, ::v-deep .anchorTR, ::v-deep .BMap_zlHolder { display: none; visibility: hidden; } </style>
运行结果截图
其他版本:npm install vue2-baidu-map
vue2中百度地图 【vue2-baidu-map】
https://map.heifahaizei.com/doc/index.html
npm install vue2-baidu-map --save
代码
<template>
<div class="sub-map002">
<baidu-map class="bm-view" :center="centerLagLat" :zoom="14" :scroll-wheel-zoom="true" ></baidu-map>
</div>
</template>
<script>
import Vue from "vue";
import BaiduMap from 'vue2-baidu-map';
Vue.use(BaiduMap, {
ak: 'oukWFWRKCGktlhX25uFBpEt0nV4xxxxx', //个人手机号私人使用-July_zhengfj oukWFWRKCGktlhX25uFBpEt0nV4xxxxx
type: 'WebGL' // ||API 默认API ('WebGL'使用此模式 BMap=BMapGL)
});
export default {
name: 'sub-map002',
data: () => {
return {
centerLagLat: {lng: 119, lat:29},
};
},
computed: {
},
mounted() {
},
created() {},
};
</script>
<style lang="less">
html,body,.sub-map002 {
margin: 0; padding: 0;
width: 100% ;
height: 100%;
position: relative;
.bm-view {
width: 100%;
height: 100%;
position: relative;
}
}
</style>
vue-bmap-gl:百度地图WebGL版本的地图组件封装
vue-bmap-gl@next是一套基于Vue3 和百度GL的地图组件。 该版本对原组件进行升级,主要适配Vue3,同时调整事件绑定形式,调整为使用v-on进行事件绑定。 支持全量导入、按需导入和自动导入vue2请使用0.x版本,对应分支vue2
https://www.npmjs.com/package/vue-bmap-gl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构