uni-app 已勾选腾讯地图模块并打了自定义基座 调用 plus.maps 提示未勾选 maps 模块

发布于 1周前 作者 caililin 来自 uni-app

uni-app 已勾选腾讯地图模块并打了自定义基座 调用 plus.maps 提示未勾选 maps 模块

操作步骤

配置maps 腾讯地图,打包自定义基座。
配置页面map 使用 plus.maps.getMapById('map')

预期结果

实际结果

bug描述

  1. 勾选了腾讯地图模块,调用 plus.maps.getMapById('map') 提示 masp 模块未勾选。
  2. nvue 页面下 map 地图模块空白 都是进行了 自定义基座打包的

环境信息

项目创建方式 开发环境操作系统 操作系统版本号 HBuilderX类型 HBuilderX版本号 手机系统 手机系统版本号 手机厂商 手机机型 页面类型 vue版本 打包方式
HBuilderX Windows w10 正式 4.45 Android Android 15 vivo 9 vue vue2 云端

7 回复

map的文档有说明,腾讯地图不支持nvue页面,仅支持vue。也仅能使用uni的api,不支持plus的api


不支持做出来干啥呀。 弄个半拉子。

回复 3***@qq.com: 这可不是半拉子,nvue和plus都已经淘汰了,以后也不会支持了

回复 DCloud_heavensoft: 那尽然用了腾讯地图, 那就吧功能做全了呀。 只有一部分功能, 获取中心点, 地图拖动事件, 在vue 页面都没有。 本来就是多端开发 框架, 都不能兼容多端。 突然发现微信现在的多端挺好的, 最起码, 基本组件, 多端都是统一的, 不存在小程序能用, app 不能用的情况

回复 3***@qq.com: uni-app x的腾讯地图功能比较完善。uni-app确实弱一些。微信的多端槽点可多了,不支持鸿蒙、web、其他小程序;包体积超大;生态封闭且不完善。。。

另外uni-app在插件市场也有基于renderjs的腾讯地图,也可以用,代码开源,可以自己扩展

针对你提到的问题,即在使用 uni-app 开发过程中,尽管已经勾选了腾讯地图模块并打了自定义基座,但在调用 plus.maps 时仍然提示未勾选 maps 模块,这通常是由于模块配置或调用方式不正确导致的。以下是一些检查和修正的步骤,以及相关的代码示例,帮助你确保正确配置和调用地图模块。

1. 检查 manifest.json 配置

首先,确保在 manifest.json 中正确配置了腾讯地图模块。通常,这需要在 App原生插件配置SDK配置 中添加腾讯地图的相关配置。以下是一个示例配置:

"mp-weixin": { // 或其他平台配置
    "usingComponents": true,
    "permission": {},
    "cloudfunctionRoot": "cloudfunctions/",
    "plugins": {
        "tencentmap": {
            "version": "1.0.0", // 替换为实际版本号
            "provider": "wxa123456789abcdef" // 替换为实际的插件ID
        }
    }
},
"app-plus": {
    "distribute": {
        "maps": {
            "provider": "tencent" // 指定使用腾讯地图
        }
    }
}

注意:这里的配置可能因 uni-app 的版本和具体需求而有所不同。manifest.json 中的配置应确保 maps 模块被正确指向腾讯地图。

2. 检查自定义基座配置

在打包自定义基座时,确保在 HBuilderX 中选择了正确的模块配置,包括腾讯地图模块。这通常在打包配置页面中进行。

3. 代码调用示例

确保在代码中正确调用 plus.maps。以下是一个简单的调用示例:

if (window.plus) {
    const map = new plus.maps.Map('mapContainer'); // 'mapContainer' 是页面中的一个div的id
    const point = new plus.maps.Point({
        lat: 39.906901,
        lng: 116.397972
    });
    map.setCenter(point);
    const marker = new plus.maps.Marker('marker');
    marker.setPosition(point);
    map.addOverlay(marker);
} else {
    console.error('plus 对象未定义,请确保运行在5+环境中');
}

4. 调试和测试

在真机或模拟器上测试应用,确保地图功能按预期工作。如果仍然遇到问题,检查控制台输出和日志,查找可能的错误信息。

确保所有步骤都按照文档和最佳实践进行,这有助于避免配置错误和调用问题。如果问题依然存在,建议查阅最新的 uni-app 和腾讯地图 SDK 文档,或联系官方支持获取帮助。

回到顶部