vue3使用百度地图

本文介绍了如何在Vue3项目中使用vue-baidu-map-3x组件实现百度地图功能,包括全局和局部注册,以及如何申请和配置百度地图AK秘钥,提供了详细的步骤和常用配置选项。
摘要由CSDN通过智能技术生成

前情提要:

本文vue采用vue3框架,使用百度地图通过组件vue-baidu-map-3x

组件官网:地图容器 | vue-baidu-map-3x

使用百度地图需要 申请百度地图AK秘钥  

步骤:1.进入百度地图开放平台 | 百度地图API SDK | 地图开发 2.打开顶部控制台 3.找到应用管理中-我的应用-创建应用

注意:1.前端开发选择浏览器端,2.必须配置白名单,只有该白名单中的网站才能成功发起调用,多个域名之间请用英文半角逗号隔开,如果不想对任何域名做限制,设置为英文半角星号*

vue3使用

安装 vue-baidu-map-3x
npm install vue-baidu-map-3x --save

全局注册 在main.ts/js 进行注册

import { createApp } from 'vue'
import App from './App.vue'
import BaiduMap from 'vue-baidu-map-3x'

const app = createApp(App);

app.use(BaiduMap, {
  // ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */
  ak: '百度地图ak',
  // v:'2.0',  // 默认使用3.0
  // type: 'WebGL' // ||API 默认API  (使用此模式 BMap=BMapGL)
});
app.mount('#app');
使用
<template>
  <div class="maps">
   <baidu-map class="map" ak="0yNijLKpCQV4tplf66hZ8sbWCTTrnZSH" v="3.0" type="API" :center="{ lng: 108.891651, lat: 34.229283 }" :zoom="50" scroll-wheel-zoom>
     <bm-marker :position="{ lng: 108.891651, lat: 34.229283 }" :dragging="false" animation="BMAP_ANIMATION_BOUNCE">
          <bm-label content="我爱北京天安门" />
        </bm-marker>
    </baidu-map>
  </div>
 
</template>
<script setup>
import { BaiduMap } from 'vue-baidu-map-3x'
</script>

<style>
.maps{
  width: 1200px;
  height: 100%;
}
.map {
  width: 100%;
  height: 300px;
}
</style>

局部注册

局部注册的 BaiduMap 组件必须声明 ak,v,type 属性

<template>
  <baidu-map class="map" ak="BaiduMapAK" v="3.0" type="API" :center="{lng: 116.404, lat: 39.915}" :zoom="15">
  </baidu-map>
</template>

<script setup>
import { BaiduMap } from 'vue-baidu-map-3x'
</script>

<style>
.map {
  width: 100%;
  height: 300px;
}
</style>
常用配置项
ak  //百度地图开发者平台申请的密钥,仅在局部注册组件时声明
center //定位, 可使用如“广州市海珠区”的地区字符串,也可以使用对象如 {lng: 116.404, lat: 39.915} 表示经纬度
zoom  //缩放等级
min-zoom //最小缩放级别
man-zoom //最大缩放级别
dragging //允许拖拽
scroll-wheel-zoom //允许鼠标滚轮缩放
double-click-zoom  //允许双击缩放
其他具体使用配置请参考官网 vue-baidu-map-3x官网 使用

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Vue 3调用百度地图覆盖物点的更新,您可以按照以下步骤进行操作: 1. 首先,确保您已经在Vue项目中引入了百度地图的API,并且可以成功加载地图。 2. 在Vue组件中,可以使用`mounted`生命周期钩子函数来初始化地图并创建覆盖物点。例如: ```javascript mounted() { this.initMap(); this.createOverlay(); } ``` 3. 在`data`中定义地图对象和覆盖物点对象。例如: ```javascript data() { return { map: null, marker: null }; } ``` 4. 在`methods`中编写初始化地图和创建覆盖物点的方法。例如: ```javascript methods: { initMap() { this.map = new BMap.Map("mapContainer"); // "mapContainer"是包含地图的HTML元素的ID this.map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 设置地图中心点和缩放级别 }, createOverlay() { const point = new BMap.Point(116.404, 39.915); // 覆盖物点的经纬度 this.marker = new BMap.Marker(point); // 创建覆盖物点对象 this.map.addOverlay(this.marker); // 添加覆盖物点到地图上 } } ``` 5. 如果需要更新覆盖物点的位置,可以在需要的时候调用更新方法。例如: ```javascript updateOverlay() { const newPoint = new BMap.Point(116.418, 39.925); // 新的覆盖物点的经纬度 this.marker.setPosition(newPoint); // 更新覆盖物点的位置 } ``` 6. 在Vue模板中使用地图容器和调用更新方法的按钮。例如: ```html <template> <div> <div id="mapContainer" style="width: 100%; height: 400px;"></div> <button @click="updateOverlay">更新覆盖物点</button> </div> </template> ``` 通过以上步骤,您就可以在Vue 3中调用百度地图的API,并成功更新覆盖物点的位置。请注意,上述代码仅作为示例,具体实现可能根据您的需求而有所不同。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值