上篇水印需要即时获取用户位置信息这里放相应代码
-
首先创建单独的Map.js文件夹引入百度api
export default {
init: function() {
const AK = "你的AK"; //你的AK
const BMap_URL = "https://api.map.baidu.com/api?v=2.0&ak=" +AK +"&s=1&callback=onBMapCallback";
return new Promise((resolve, reject) => {
// 如果已加载直接返回
if (typeof BMap !== "undefined") {
resolve(BMap);
return true;
}
// 百度地图异步加载回调处理
window.onBMapCallback = function() {
resolve(BMap);
};
// 插入script脚本
let scriptNode = document.createElement("script");
// scriptNode.setAttribute(type, 'text/javascript');
scriptNode.setAttribute("src", BMap_URL);
document.body.appendChild(scriptNode);
});
}
};
2.在vue中引入

3,创建方法调用即可
//获取定位
getLocation(){
myBMap.init().then(BMap => {
new BMap.Geolocation().getCurrentPosition(
position => {
if (position.accuracy) {
//用户允许的操作,position里面有城市,省份,经纬度等信息
} else {
//用户点击拒绝的操作
Dialog.confirm({
title: '温馨提示!',
message: '请打开手机定位功能',
}).then(() => {
})
}
let address=position.address
this.address=address.province + address.city + address.district +
address.street + address.streetNumber
},
error => {
Dialog.alert({
title: "提示",
message: "获取定位失败",
});
}
);
})
}