vue-baidu-map 通过经纬度逆解析地址信息

1、在main.js引入vue-baidu-map,引入如下

import BaiduMap from 'vue-baidu-map'

2、引入百度地图的key值

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

3、可直接在页面引用百度地图组件

<template>
<baidu-map 
:center="{lng: 105.845335, lat: 30.198212}" //中心点
@ready="handler(105.845335,30.198212)"  //ready事件,用来执行地图 API 加载完毕后才能执行的代码,
//注意:不要试图在 vue 自身的生命周期中调用 BMap 类,更不要在这些时机修改 model 层。
:zoom="12"> //地图缩放比例
//在地图中心添加定位点
<bm-marker 
:position="{lng: 105.845335, lat: 30.198212}" //定位经纬度
:dragging="true" //是否允许拖拽
:icon="{url:'https://files.bailb.com/public/icon/location.png',size: {width: 38, height: 38}}"//添加自定义图标,size设置图标的大小,最好是图标多大就设置多大,图标没有缩放设置
/>
//标签
<bm-label
:position="{lng: 105.845335, lat: 30.198212}"//定位经纬度
:content="BAddress"//定位地址
:labelStyle="{background: 'linear-gradient(to right,#40baec,#5165c4)',color:'#ffffff',border:'none', padding:'2px 12px', fontSize : '14px'}"//标签样式
:offset="{width: -55, height: 25}"//偏移位置设置
/>
</baidu-map>
</template>

4、根据ready事件传递的经纬度获取详细地址信息

export default{
	data(){
		return{
			BMap:null,// 地图组件是否就绪
        	BAddress:''
		}
	},
	methods:{
		/**
       * 监听地图是否加载完成
       * */
       handler(lng,lat){
        const that = this
        var myGeo = new BMap.Geocoder();
        var pt = new BMap.Point(lng,lat);
        myGeo.getLocation(pt,function(result){
            that.BAddress = result.address; //获取到当前定位的详细地址信息
        });
      },
	}
}
根据引用和引用提供的信息,可以通过vue-baidu-map获取经纬度功能。然而,有时候获取的经纬度可能不准确。这可能是由于以下几个原因导致的: 1. 定位服务不可靠:获取位置信息需要依赖设备的定位服务,例如GPS或网络定位。如果定位服务不可靠或者设备所在位置信号弱,获取的经纬度可能会有偏差。 2. 地址解析不准确:获取的经纬度是基于地理位置的地址解析结果。如果地址解析算法不准确或者地理位置信息存在误差,那么获取的经纬度也可能不准确。 3. 使用的百度地图AK(Access Key)不准确:在引用[1]中提到需要在baidu-map组件上添加百度地图的AK,如果AK填写不正确或者过期,可能会导致获取的经纬度不准确。 为了解决获取经纬度不准确的问题,可以尝试以下方法: 1. 确保设备的定位服务正常工作,并且在开放区域使用获取位置功能,以获得更精确的定位结果。 2. 检查地址解析算法是否准确,并尝试使用其他地理位置服务来获取更准确的经纬度信息。 3. 确认百度地图的AK是否正确,并且没有过期。如果AK无效,可以申请新的AK并更新到baidu-map组件上。 总结起来,vue-baidu-map获取经纬度不准确可能是由于定位服务、地址解析或者AK的问题。通过确保定位服务正常工作、使用准确的地址解析算法和AK,可以提高获取经纬度的准确性。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值