uni-app 安卓高德地图不显示 配置已反复确认没问题

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 安卓高德地图不显示 配置已反复确认没问题

bug描述:

申请的高德key已确认,申请key也没问题,打包的调试基座也不显示,项目是新启用的,index页面只放置了一个map组件,使用公司的电脑和个人的电脑都显示不出来

image

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 windows11
HBuilderX类型 正式
HBuilderX版本 4.36
手机系统 Android
手机系统版本 Android 10
手机厂商 模拟器
手机机型 Pixel 9
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

2 回复

又测试了 结果是自定义基座不展示地图,标准基座却展示地图,这是什么原理?


在处理uni-app中安卓平台高德地图不显示的问题时,首先需要确保你已经正确配置了高德地图的SDK,并且相关权限也已授予。既然你提到配置已反复确认没问题,我们可以从代码层面进行排查。下面是一些常见的检查点和示例代码,帮助你定位问题。

1. 确保地图组件正确引入

pages/index/index.vue(或你的地图页面)中,确保你使用了高德地图的组件,并且传入了正确的API Key。

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

<script>
export default {
  data() {
    return {
      longitude: 116.397428, // 默认经度
      latitude: 39.90923,    // 默认纬度
      scale: 14              // 默认缩放级别
    };
  },
  mounted() {
    // 这里可以添加地图初始化的代码,如果有必要的话
    this.initMap();
  },
  methods: {
    initMap() {
      // 高德地图的初始化代码(如果有额外配置需求)
      // 例如:AMap.plugin(['AMap.ToolBar'], () => {
      //   const map = new AMap.Map('map', {
      //     zoom: this.scale,
      //     center: [this.longitude, this.latitude]
      //   });
      //   new AMap.ToolBar();
      // });
    }
  }
};
</script>

2. 检查manifest.json配置

确保在manifest.json中正确配置了高德地图的SDK信息,包括API Key和相关权限。

"app-plus": {
  "distribute": {
    "sdkConfigs": {
      "amap": {
        "apiKey": "你的高德地图API Key"
      }
    }
  },
  "permission": {
    "AndroidPermissions": [
      "android.permission.INTERNET",
      "android.permission.ACCESS_FINE_LOCATION",
      "android.permission.ACCESS_COARSE_LOCATION",
      "android.permission.WRITE_EXTERNAL_STORAGE",
      "android.permission.READ_EXTERNAL_STORAGE"
    ]
  }
}

3. 检查AndroidManifest.xml

有时候,直接修改AndroidManifest.xml文件也是必要的,确保高德地图的权限和服务都已正确声明。这部分通常通过uni-app的manifest.json配置自动生成,但手动检查也是好的习惯。

4. 调试和日志

使用Android Studio或adb工具连接设备,查看应用运行时的日志输出,搜索与高德地图相关的错误信息,这有助于进一步定位问题。

adb logcat | grep AMap

以上步骤和代码示例应该能帮助你进一步排查高德地图不显示的问题。如果问题依旧存在,建议查看高德地图开发者文档或社区,看是否有其他开发者遇到并解决了类似问题。

回到顶部