引入百度地图方法如图,在vue项目的index.html
现在安卓10没有问题,而安卓10以下则在构建地图时报BMap undefined
有没有人跟我有一样的问题,求解答
export default {
init: function (){
//console.log("初始化百度地图脚本...");
const 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 () {
console.log("百度地图脚本初始化成功...");
resolve(BMap);
};
// 插入script脚本
let scriptNode = document.createElement("script");
scriptNode.setAttribute("type", "text/javascript");
scriptNode.setAttribute("src", BMap_URL);
document.body.appendChild(scriptNode);
});
}
}
http://api.map.baidu.com/api?v=2.0&ak=您的密钥
callback
参数,异步加载必须使用此参数才可以生效https
配置,通过 s=1
参数实现2.0
,经测试使用,发现3.0
版本在HTTPS环境下是有问题的,脚本内部某些请求固定使用HTTP,无法正常使用。