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.authorizeAPI)。 - 配置未生效:清除项目缓存,重新运行。
按照以上步骤操作,高德地图模块即可正常使用。如有问题,检查高德平台应用状态和日志输出。

