900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > vue自动定位 百度地图

vue自动定位 百度地图

时间:2023-06-24 19:35:11

相关推荐

vue自动定位 百度地图

1.在index.html 引入

<script type="text/javascript" src="http://api./api?v=2.0&ak=你的密钥"></script>

2.获取百度地图密钥,参考

/article/4b52d702902cb5fc5c774b38.html

3.在build/webpack.base.conf.js 中添加代码

externals: {

"BMap": "BMap"

},

4.代码,

百度地图的定位我一开始用pc测,定位到的地址和我当前的地址相差很大,一开始百度查看说百度地图使用的是火星坐标需要转义换算什么的算了很久,可是转换出来的经纬度还是不对,在这里卡了很久,后来查阅资料才发现因为pc端是通过IP定位的,所以存在偏差很大,用手机定位就准确了,把我遇到的问题跟大家分享一下,自己也当做个笔记,要是说的有问题欢饮指正

<template><div id="allmap"></div><button>点击按钮开始定位</button></template>

</script>

//import BMap from 'BMap' //根据我的实践这句代码好像并没有什么用,主要起作用的还是引入的js

export default {data(){return{center: {lng: 116.40387397, lat: 39.91488908},zoom: 15} }, methods: {//点击按钮locationbtn(){let map = new BMap.Map('allmap');let point = new BMap.Point(this.center.lng, this.center.lat);map.centerAndZoom(point, 15)var geolocation = new BMap.Geolocation();geolocation.getCurrentPosition((r) => {if (r.point) {this.center.lng = r.longitude;this.center.lat = r.latitude;alert('您当前经纬度:'+this.center.lng+','+ this.center.lat);var point = new BMap.Point( this.center.lng, this.center.lat);//用当前定位的经纬度查找省市区街道等信息var gc = new BMap.Geocoder();gc.getLocation(point, function(rs){var addComp = rs.addressComponents; console.log(rs.address);//地址信息console.log(rs.address);//弹出当前所在地址});let markers = new BMap.Marker(r.point);map.addOverlay(markers);map.panTo(r.point);map.centerAndZoom(r.point, 16);}})} }}

</script>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。