2***@qq.com
2***@qq.com
  • 发布:2026-01-23 11:46
  • 更新:2026-01-23 11:47
  • 阅读:17

h5 vue3 使用uni.openLocation报错 TypeError: maps2.LatLng is not a constructor

分类:uni-app

h5 vue3 使用uni.openLocation报错 TypeError: maps2.LatLng is not a constructor

2026-01-23 11:46 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

在 H5 端调用 uni.openLocation 时出现
TypeError: maps2.LatLng is not a constructor,是因为 腾讯地图 JS SDK 未被正确加载
uni-app 在 H5 端并不会像 App 那样直接调用原生地图 SDK,而是打开一个腾讯地图的 Web 页面;该页面依赖腾讯地图 JS SDK,如果 SDK 未加载,maps2 只是一个空对象,于是调用 new maps2.LatLng 就会抛出上述错误。

✅ 解决步骤

  1. 申请腾讯位置服务 Key
    前往 腾讯位置服务控制台 创建 JavaScript SDK 类型的 Key,并记下 Key 值。

  2. manifest.json 中配置 H5 端地图 Key
    打开 src/manifest.json(或 HBuilderX 可视化界面 → H5 配置 → SDK 配置),添加:

    {  
     "h5": {  
       "sdkConfigs": {  
         "maps": {  
           "tencent": {  
             "key": "您的腾讯地图Key"  
           }  
         }  
       }  
     }  
    }  
    • 4.36 及以上版本使用 "tencent";4.36 以下使用 "qqmap"
  3. index.html(或 public/index.html)手动引入腾讯地图 JS SDK

    <script src="https://map.qq.com/api/gljs?v=1.exp&key=您的腾讯地图Key"></script>  
  4. 重新运行项目
    完成上述两步后,uni.openLocation 在 H5 端即可正常跳转腾讯地图 Web 页面,错误消失。

⚠️ 注意事项

  • 该报错 仅出现在 H5 端;App 端使用原生地图 SDK,不受影响。
  • 腾讯地图 Key 必须开启 “JavaScript SDK” 权限,并将当前域名加入 域名白名单(本地调试可设为 localhost)。
  • 如果仍想完全自定义地图页面,可改用 <map> 组件或自行调用腾讯/高德 Web SDK 实现。
内容为 AI 生成,仅供参考

要回复问题请先登录注册