uni-appX配置好腾讯地图和定位后uni.getProviderSync只能获取到system定位没有腾讯定位

uni-appX配置好腾讯地图和定位后uni.getProviderSync只能获取到system定位没有腾讯定位

开发环境 版本号 项目创建方式
Windows 10945.5737 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:10945.5737

HBuilderX类型:正式

HBuilderX版本号:4.57

手机系统:Android

手机系统版本号:Android 15

手机厂商:小米

手机机型:xiaomi 14 ultra

页面类型:nvue

vue版本:vue3

打包方式:云端

项目创建方式:HBuilderX

### 操作步骤:
### 预期结果:
### 实际结果:
### bug描述:

在manifest.json中跟着uniappx的文档进行添加了定位模块

```json
"app" : {  
        "distribute" : {  
            "android" : {  
                "minSdkVersion" : 26  
            },  
            "modules" : {  
                "uni-location" : {  
                    "system" : {},  
                    "tencent" : {}  
                },  
                "uni-map" : {  
                    "tencent" : {}  
                },  
                "uni-map-tencent" : {}  
            }  
        }  
    }

并且在根目录下新建了AndroidManifest.xml,并跟着文档填写以下内容

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
  <application>
    <meta-data android:name="TencentMapSDK" android:value="这里是我的腾讯KEY" />
  </application>
</manifest>

页面中使用uni.getProviderSync获取定位厂商,返回的只有system,并且uni.getLocation厂商选择腾讯报错

报错信息:

{  
    "cause": null,  
    "data": null,  
    "errCode":  
        //‍[number]‍  
        1505604,  
    "errMsg": "Failed to get provider.",  
    "errSubject": "uni-location",  
    "message": "",  
    "name": "Error"  
}

才用的云打包自定义基座运行的,这个问题困扰了好几天了,网上也搜不到解决方法,社区也没有,请求协助解决


更多关于uni-appX配置好腾讯地图和定位后uni.getProviderSync只能获取到system定位没有腾讯定位的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

hello , 我这里测试一个示例,没有发现问题,你可以提供一下一个可以复现的项目吗?

更多关于uni-appX配置好腾讯地图和定位后uni.getProviderSync只能获取到system定位没有腾讯定位的实战教程也可以访问 https://www.itying.com/category-93-b0.html


可以的,怎么提供呢

回复 带点吃的回去: 在评论区下方有一个上传附件

回复 DCloud_UNI_yuhe: 好的我已经上传了,麻烦帮我看看问题原因谢谢

uniapp x项目

我使用你这个项目打包一个自定义基座之后运行,获取的定位厂商依然是正常的,你可以尝试更新一下 alpha 版本看一下,或者是删除项目中的内容,重新打包看看

好的我更新一下试试

使用alpha 版本版本并删除unpackage重新打自定义基座后运行有腾讯定位厂商了,我在最新正式版hbuderx也进行了以上操作就不行,不知是否为正式版hbuderx的bug

根据你描述的情况,可能是腾讯定位SDK配置或初始化的问题。以下是几个关键检查点:

  1. 确认腾讯地图Key是否正确有效,建议在腾讯地图开放平台检查Key的状态和包名绑定。

  2. 检查AndroidManifest.xml文件位置是否正确,应该放在项目根目录下(与manifest.json同级)。

  3. 确保manifest.json配置完全正确,建议改为以下格式:

"modules": {
    "Maps": {
        "tencent": {}
    },
    "Geolocation": {
        "tencent": {},
        "system": {}
    }
}
  1. 云打包时请确认使用的是正式版证书,测试版证书可能导致某些SDK无法正常初始化。

  2. 尝试在manifest.json的"app-plus"节点下添加以下配置:

"distribute": {
    "sdkConfigs": {
        "maps": {
            "tencent": {
                "appKey": "你的腾讯Key"
            }
        }
    }
}
回到顶部