使用步骤:
一、百度开放API平台申请AK 二、在线引入API 或者使用 npm 三、使用API获取位置
注意:百度API、 高德API 商业用途,均需授权
引用与配置
方式一 、在线引入API:
<script type="text/javascript" src="https://api./api?v=2.0&ak=申请的ak"></script>
方式二、 NPM使用:
npm install baidumapvar baiduMap = require('baidumap');var bdmap = baiduMap.create({'ak':'申请的ak'});
使用API 进行定位:
export const baiduLocation = () => {var geolocation = new BMap.Geolocation({maximumAge: 10 // 清除缓存});// 开启SDK辅助定位geolocation.enableSDKLocation();geolocation.getCurrentPosition(function(r) {console.log("经纬度坐标:", r.point);if (this.getStatus() == BMAP_STATUS_SUCCESS) {var mk = new BMap.Marker(r.point);// map.addOverlay(mk);//标出所在地// map.panTo(r.point);//地图中心移动//alert('您的位置:'+r.point.lng+','+r.point.lat);var point = new BMap.Point(r.point.lng, r.point.lat);//用所定位的经纬度查找所在地省市街道等信息var gc = new BMap.Geocoder();gc.getLocation(point, function(rs) {var addComp = rs.addressComponents;console.log(rs.address);//地址信息});} else {alert("failed" + this.getStatus());}}, {enableHighAccuracy: true });};
输出:
经纬度坐标: K {lng: 118.80242172, lat: 32.06465289, of: ‘inner’}
江苏省南京市玄武区北京东路42-2号