在VUE中使用vue-baidu-map获取经纬度和搜索地址

本文介绍了如何在Vue项目中利用vue-baidu-map组件获取经纬度并实现地址搜索功能。首先,通过申请百度地图API密钥并安装vue-baidu-map组件进行地图初始化。接着,详细讲解了设置地图点击事件获取经纬度,添加BmInfoWindow和BmMarker组件,以及利用BmAutoComplete实现地址自动补全和搜索跳转的功能。最终展示了一个完整的工作示例。
摘要由CSDN通过智能技术生成

在开发项目的时候,发现需要获取经纬度,由于这个项目是用vue写的,最后决定使用vue-baidu-map来快速获取经纬度

基于 Vue.js 封装的百度地图组件,运行流畅,代码简单易懂,几乎包含了百度地图官方的所有API,文档地址:dafrok.github.io/vue-baidu-m…

1.申请百度地图密钥

搜索’百度地图开放平台’,选择头部导航栏开发文档里的JavaScript API

然后点击申请密钥

2.安装vue-baidu-map

终端运行

npm install vue-baidu-map --save 

main.js里全局注册

import Vue from 'vue'
import BaiduMap from 'vue-baidu-map'

Vue.use(BaiduMap, {// ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apiconsole/key */ak: 'YOUR_APP_KEY'
}) 

引入组件,初始化地图,开启鼠标滚轮控制地图缩放

<template><baidu-map id="allmap" @ready="mapReady" :scroll-wheel-zoom="true"></baidu-map>
</template>

<script> export default {methods: {//地图初始化mapReady({ BMap, map }) {this.point = new BMap.Point(113.27, 23.13); // 选择一个经纬度作为中心点map.centerAndZoom(this.point, 12); //设置地图中心点和缩放级别this.BMap=BMapthis.map=map}}
} </script>

<style> #allmap{height: 450px;width: 100%;margin: 10px 0;
} </style> 
"vue-baidu-map-3x"是一个基于Vue.js百度地图组件库,它提供了一系列的组件和指令,方便开发者在Vue.js项目使用百度地图功能。 要通过经纬度进行跳转,可以使用该组件库的`<baidu-map>`组件和`<baidu-marker>`组件来实现。首先,在Vue.js项目安装并引入"vue-baidu-map-3x"组件库,然后在需要使用地图的页面使用`<baidu-map>`组件来显示地图,并设置`center`属性为目标经纬度。 接下来,在目标经纬度上添加一个标记点,可以使用`<baidu-marker>`组件,并设置`position`属性为目标经纬度。同时,可以设置该标记点的其他属性,如图标、标题等。 最后,通过点击标记点或其他交互方式触发跳转事件,在事件处理函数使用百度地图的API进行跳转操作。可以使用`map.panTo()`方法将地图心移动到目标经纬度,或者使用`map.setZoom()`方法设置地图缩放级别。 具体代码示例如下: ```html <template> <div> <baidu-map :ak="yourBaiduMapAK" :center="targetLatLng" :zoom="15"> <baidu-marker :position="targetLatLng" @click="jumpToTarget"></baidu-marker> </baidu-map> </div> </template> <script> import { BaiduMap, BaiduMarker } from 'vue-baidu-map-3x'; export default { components: { BaiduMap, BaiduMarker, }, data() { return { yourBaiduMapAK: 'yourBaiduMapAK', targetLatLng: { lng: 123.456, // 目标经度 lat: 12.345, // 目标纬度 }, }; }, methods: { jumpToTarget() { // 获取地图实例 const map = this.$refs.baiduMap.getMapInstance(); // 将地图心移动到目标经纬度 map.panTo(new BMap.Point(this.targetLatLng.lng, this.targetLatLng.lat)); // 设置地图缩放级别 map.setZoom(15); }, }, }; </script> ``` 请注意,上述代码的`yourBaiduMapAK`需要替换为你自己的百度地图开发者AK(Access Key),用于在使用百度地图API时进行身份验证。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值