uni-app HBuilder X 4.15模拟器中高德地图显示黑屏 标准基座自定义基座均有问题 真机上显示正常

uni-app HBuilder X 4.15模拟器中高德地图显示黑屏 标准基座自定义基座均有问题 真机上显示正常

示例代码:

<map style="width: 750rpx; flex:1;" :latitude="31" :longitude="120" />

操作步骤:

  • 直接运行组件

预期结果:

  • 展示高德地图

实际结果:

  • 高德地图黑屏

bug描述:

开发调试高德地图,vue和nvue都黑屏

附件:

img

项目属性 信息
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 Windows 10 22H2
HBuilderX类型 正式
HBuilderX版本号 4.15
手机系统 Android
手机系统版本号 Android 10
手机厂商 模拟器
手机机型 模拟器
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app HBuilder X 4.15模拟器中高德地图显示黑屏 标准基座自定义基座均有问题 真机上显示正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

map是so库,和cpu类型有关。你的模拟器的cpu类型应该是intel的,需要manifest里增加x86 cpu,重新打自定义基座。或者换个arm的模拟器

更多关于uni-app HBuilder X 4.15模拟器中高德地图显示黑屏 标准基座自定义基座均有问题 真机上显示正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我选了x86的,三个支持CUP类型我都选的,地图显示黑屏,我安卓 studio中添加arm模拟器启动不起来,提示:Consider using an x86 system image on an x86host for better emulation performance,

回复 d***@163.com: 选完cpu类型要打自定义基座

回复 DCloud_heavensoft: cpu一开始就一直都是三个都选,没改过啊,基座打过好几次了

arm64的模拟器启动不起来,其他三个模拟器和华为的模拟器,高德地图都显示黑屏

uni-app 中使用高德地图时,模拟器中显示黑屏而真机显示正常的问题,通常与模拟器的环境、配置或高德地图 SDK 的初始化有关。以下是一些排查和解决方案:


1. 检查高德地图 SDK 的初始化

确保在 manifest.json 中正确配置了高德地图的 AppKey,并且在代码中正确初始化了地图。

  • 检查 manifest.json 配置: 在 manifest.jsonapp-plus 节点下,确保高德地图的 AppKey 配置正确:

    "app-plus": {
      "maps": {
        "amap": {
          "key": "你的高德地图AppKey"
        }
      }
    }
    
  • 检查代码初始化: 在页面中确保正确引入了高德地图组件并初始化:

    <template>
      <map
        id="map"
        :latitude="latitude"
        :longitude="longitude"
        :markers="markers"
        style="width: 100%; height: 100%;"
      ></map>
    </template>
    
    <script>
    export default {
      data() {
        return {
          latitude: 39.909,
          longitude: 116.397,
          markers: []
        };
      }
    };
    </script>
    

2. 模拟器环境问题

HBuilder X 的模拟器可能无法完全支持高德地图的渲染,尤其是 Android 模拟器。尝试以下方法:

  • 使用真机调试: 模拟器可能存在兼容性问题,建议直接在真机上调试。

  • 更换模拟器: 尝试使用其他 Android 模拟器(如夜神模拟器、雷电模拟器)或 iOS 模拟器。

  • 检查模拟器的 OpenGL 设置: 如果使用 Android 模拟器,确保 OpenGL 设置为 Hardware - GLES 2.0。在 AVD Manager 中配置:

    1. 打开 AVD Manager。
    2. 选择你的模拟器,点击 Edit
    3. Advanced Settings 中,将 OpenGL ES API level 设置为 Renderer maximum (up to OpenGL ES 3.1)

3. 检查网络和权限

模拟器中可能存在网络或权限问题,导致地图无法加载。

  • 检查网络连接: 确保模拟器可以正常访问互联网。

  • 检查权限: 在 manifest.json 中确保已申请必要的权限:

    "app-plus": {
      "distribute": {
        "android": {
          "permissions": [
            "<uses-permission android:name=\"android.permission.INTERNET\"/>",
            "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
            "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>"
          ]
        }
      }
    }
    

4. 更新 HBuilder X 和 SDK

确保使用的是最新版本的 HBuilder X 和高德地图 SDK。

  • 更新 HBuilder X: 打开 HBuilder X,点击 帮助 -> 检查更新,确保使用的是最新版本。

  • 更新高德地图 SDK: 在 manifest.json 中检查高德地图 SDK 的版本,确保使用的是最新版本。


5. 自定义基座问题

如果使用自定义基座,确保基座的配置正确。

  • 重新打包自定义基座: 在 HBuilder X 中,点击 运行 -> 运行到手机或模拟器 -> 制作自定义基座,重新生成自定义基座。

  • 检查基座配置: 确保自定义基座的配置与 manifest.json 中的配置一致。


6. 调试日志

通过调试日志排查问题。

  • 开启调试模式: 在 manifest.json 中开启调试模式:
    "app-plus": {
      "debug": true
    }
回到顶部