uniapp高德地图模块权限没有添加如何解决?

我在uniapp中使用了高德地图模块,但运行时提示权限没有添加。请问具体需要配置哪些权限?如何在manifest.json文件中正确配置?还有哪些地方需要注意?

2 回复

在manifest.json的App模块配置中勾选“Maps(高德地图)”模块,并在源码视图中添加高德地图相关权限配置即可。


在UniApp中,如果高德地图模块权限未添加,会导致地图功能无法正常使用。以下是详细解决方法:

1. 检查并配置App模块权限

  • 打开HBuilder X,进入项目的 manifest.json 文件。
  • 切换到 “App模块配置” 选项卡。
  • “Maps(地图)” 部分勾选 “高德地图”(确保已启用)。
  • 保存配置并重新运行项目。

2. 申请高德地图Key

  • 访问高德开放平台,注册账号并创建应用。
  • 获取 App Key(需填写应用包名和SHA1签名,包名在 manifest.json 的“基础配置”中查看)。

3. 在项目中配置Key

manifest.json“App SDK配置” 部分(或源码视图中)添加高德地图Key:

"app-plus": {
  "modules": {
    "Maps": {
      "AMap": "你的高德地图App Key"
    }
  }
}

4. 添加Android/iOS平台权限

  • Android:在 manifest.json 的“App权限配置”中勾选位置权限(如<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>)。
  • iOS:在 manifest.json 的“iOS设置”中勾选位置权限(如NSLocationWhenInUseUsageDescription),并填写使用描述。

5. 代码示例(地图组件)

在页面中使用地图组件:

<template>
  <view>
    <map style="width: 100%; height: 300px;" :latitude="latitude" :longitude="longitude"></map>
  </view>
</template>

<script>
export default {
  data() {
    return {
      latitude: 39.909,
      longitude: 116.397
    };
  }
};
</script>

6. 重新打包测试

  • 完成配置后,通过HBuilder X重新打包App(真机调试或云打包)。
  • 首次使用需在设备上授权位置权限。

常见问题排查:

  • Key错误:检查包名和SHA1是否与高德平台一致。
  • 权限未授权:在App中动态请求位置权限(可使用uni.authorize API)。
  • 配置未生效:清除项目缓存,重新运行。

按照以上步骤操作,高德地图模块即可正常使用。如有问题,检查高德平台应用状态和日志输出。

回到顶部