jiang-yibai 2021-01-06 17:52 采纳率: 0%
浏览 209

vue开发混合app,百度地图报 BMap is undefined

引入百度地图方法如图,在vue项目的index.html

现在安卓10没有问题,而安卓10以下则在构建地图时报BMap undefined

有没有人跟我有一样的问题,求解答

  • 写回答

1条回答 默认 最新

  • 孙叫兽 前端领域优质创作者 2021-01-08 23:55
    关注
    
    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 参数实现
    • API版本为2.0,经测试使用,发现3.0版本在HTTPS环境下是有问题的,脚本内部某些请求固定使用HTTP,无法正常使用。

     

    评论

报告相同问题?

悬赏问题

  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443
  • ¥20 Qt Quick Android 项目报错及显示问题
  • ¥15 而且都没有 OpenCVConfig.cmake文件我是不是需要安装opencv,如何解决?
  • ¥15 oracleBIEE analytics
  • ¥15 H.264选择性加密例程
  • ¥50 windows的SFTP服务器如何能批量同步用户信息?
  • ¥15 centos7.9升级python3.0的问题
  • ¥15 安装CentOS6时卡住