HarmonyOS鸿蒙Next中跳转自带的petal地图报权限错误

HarmonyOS鸿蒙Next中跳转自带的petal地图报权限错误 AGC 开通了地图api ,工程中client_id 也配置了,但是想拉起系统自带的地图app 发生报错 QueryLocation Failed to query Location, code: 1002600004, message: The Map permission is not enabled. 代码如下

let queryLocationOptions: sceneMap.LocationQueryOptions = {
    siteId: "922207154068557824"
};

sceneMap.queryLocation(getContext(this) as common.UIAbilityContext, queryLocationOptions)
    .then(() => {
        console.info("QueryLocation", "Succeeded in querying location.");
    })
    .catch((err: BusinessError) => {
        console.error("QueryLocation", `Failed to query Location, code: ${err.code}, message: ${err.message}`);
    });

更多关于HarmonyOS鸿蒙Next中跳转自带的petal地图报权限错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

先做如下排查:

  1. 配置应用签名证书指纹。
  2. module.json5 文件中 metadata 节点下正确配置 clientId。
  3. 在 api 管理中打开地图服务的开关。

可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/map-config-agc-V5

如果排查后还是不行,排除下网络原因,连接的如果是公司的内网,且内网有限制,怀疑可能是网络问题,因为地图需要联网加载,切换到移动数据网络再试一下。

1002600004 三方应用没有开通地图服务权限

错误信息 The Map permission is not enabled.

错误描述 三方应用没有开通地图服务权限。

可能原因 没有开通地图服务权限。

没有正确接入地图权限,接入没有成功,再排查下接入流程:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/map-config-agc-V5

检查下元服务包名是否和 AGC 上绑定的一样

配置应用签名证书指纹。

module.json5 文件中 metadata 节点下正确配置 clientId。

在 api 管理中打开地图服务的开关。

更多关于HarmonyOS鸿蒙Next中跳转自带的petal地图报权限错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,跳转自带的Petal地图时出现权限错误,通常是由于未正确配置或声明所需的权限。在HarmonyOS中,应用需要明确声明并动态申请所需的权限,才能正常调用系统功能。对于地图相关操作,可能需要以下权限:

  1. 位置权限:访问设备的地理位置信息,通常需要ohos.permission.LOCATION权限。
  2. 网络权限:地图服务通常需要联网,因此需要ohos.permission.INTERNET权限。

config.json文件中,确保已声明相关权限:

"reqPermissions": [
    {
        "name": "ohos.permission.LOCATION",
        "reason": "用于获取位置信息"
    },
    {
        "name": "ohos.permission.INTERNET",
        "reason": "用于访问网络"
    }
]

此外,在代码中需要动态申请权限,确保在跳转Petal地图之前已获得用户授权。可以通过requestPermissionsFromUser方法进行权限申请:

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(this.context, ['ohos.permission.LOCATION', 'ohos.permission.INTERNET'])
    .then((data) => {
        if (data.authResults[0] === 0 && data.authResults[1] === 0) {
            // 权限已授予,执行地图跳转操作
        } else {
            // 权限未授予,处理错误
        }
    })
    .catch((err) => {
        console.error(`Failed to request permissions: ${err}`);
    });

如果权限已正确配置和申请,但仍出现错误,可能是Petal地图的特定限制或系统配置问题,需进一步检查日志以确定具体原因。

在HarmonyOS鸿蒙Next中,跳转自带Petal地图时遇到权限错误,通常是因为未正确配置或申请相关权限。请确保在config.json文件中已声明ohos.permission.LOCATION权限,并在代码中动态申请位置权限。此外,检查应用的权限设置,确保已允许使用位置服务。如果问题依旧,建议查看系统日志以获取更详细的错误信息。

回到顶部