Lange小蓝子 2024-02-29 14:51 采纳率: 42.9%
浏览 213

uniapp引入腾讯地图jdk报错,如何解决?

uniapp引入腾讯地图jdk报错,
只 import QQMapWX from '@/static/js/qqmap-wx-jssdk.min.js' 的时候就没报错,
但是一new就报错,

img

img


求解答!

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-02-29 14:55
    关注

    引自免费微信小程序:皆我百晓生

    在uniapp中引入腾讯地图JSSDK并初始化时遇到错误,可能是由于以下原因导致的:

    1. JSSDK文件路径不正确 确保@/static/js/qqmap-wx-jssdk.min.js是正确的文件路径,并且该文件已经成功部署到你的项目中。如果路径有误或文件未正确引入,则会引发加载失败。

    2. JSSDK未在小程序环境中初始化 腾讯地图JSSDK需要在微信小程序环境下通过调用微信提供的wx.config方法进行配置和授权后才能正常使用。请确保你已经在合适的生命周期内进行了如下操作:

    import QQMapWX from '@/static/js/qqmap-wx-jssdk.min.js';
    
    export default {
      data() {
        return {
          qqmapsdk: null,
        };
      },
      onLoad() {
        // 获取微信小程序全局唯一后台接口调用凭据(access_token)和jsapi_ticket
        uni.request({
          url: 'your-server-url-to-get-access-token-and-ticket', // 替换成你的服务器获取token和ticket的接口地址
          method: 'GET',
          success: (res) => {
            const { accessToken, jsApiTicket } = res.data;
            
            this.qqmapsdk = new QQMapWX({
              key: 'YOUR_APP_KEY', // 替换成你在腾讯位置服务申请的key
              env: 'release', // 可选,默认为 release,设为 debug 可查看调试信息
              apiVersion: '2.0', // 可选,默认为1.0,设置为2.0可以使用更多新特性
              onReady: function () {
                console.log('腾讯地图JSSDK已准备就绪');
              },
              fail: function(err) {
                console.error('腾讯地图JSSDK初始化失败:', err);
              },
            });
    
            // 配置微信JSSDK,用于调用腾讯地图API
            wx.config({
              debug: true, // 开启调试模式
              appId: 'YOUR_WECHAT_APPID', // 必填,公众号的唯一标识
              timestamp: '', // 必填,生成签名的时间戳
              nonceStr: '', // 必填,生成签名的随机串
              signature: '', // 必填,签名
              jsApiList: [
                'getLocation', // 使用定位功能必须添加此API
                // 其他可能需要用到的腾讯地图相关API
              ],
            });
            
            // 调用微信JSSDK的ready回调来执行后续操作
            wx.ready(() => {
              // 在这里可以安全地调用腾讯地图JSSDK的相关API
            });
            
            // 获取签名所需参数并生成签名
            // 这部分需要在后端完成,返回给前端填充到wx.config中的signature字段
            // ...
          },
          fail: (err) => {
            console.error('获取access_token和jsApiTicket失败:', err);
          },
        });
      },
    };
    
    1. JSSDK版本与uniapp或微信小程序版本不兼容 确认使用的腾讯地图JSSDK版本是否适用于当前uniapp及微信小程序的开发环境。

    2. APP_KEY未正确配置 检查new QQMapWX实例化对象时传入的key属性值是否正确,这个值应该从腾讯位置服务申请并替换。

    若以上排查步骤无法解决问题,请提供更多报错信息以及项目的具体配置情况,以便更准确地定位问题所在。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月29日