uni-app iOS map组件使用高德地图偶现地图黑屏

uni-app iOS map组件使用高德地图偶现地图黑屏

操作步骤:

  • 进入加载map地图组件

预期结果:

  • 不会出现黑屏

实际结果:

  • map组件高德地图出现黑屏

bug描述:

高德地图偶现黑屏,出现黑屏后重新加载页面也还是黑屏,需要重启app后才恢复正常;出现概率很低,无法稳定复现。

信息类别 详细信息
产品分类 uni小程序SDK
手机系统 iOS
手机系统版本号 iOS 17
手机厂商 苹果
手机机型 iphone13
页面类型 nvue
SDK版本号 3.99

image


更多关于uni-app iOS map组件使用高德地图偶现地图黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

忘记了,重复提问了,这里可以稳定复现https://ask.dcloud.net.cn/question/190892

更多关于uni-app iOS map组件使用高德地图偶现地图黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html


看这个吧,这个解决了https://ask.dcloud.net.cn/question/186862

uni-app 中使用高德地图的 map 组件时,偶现地图黑屏的问题可能由多种原因引起。以下是一些可能的原因及解决方法:

1. 高德地图 SDK 初始化问题

  • 原因: 高德地图 SDK 未正确初始化,可能导致地图无法正常渲染。
  • 解决方法: 确保在 App.vue 或其他合适的入口文件中正确初始化高德地图 SDK。示例代码如下:
    // App.vue
    export default {
      onLaunch() {
        // 初始化高德地图 SDK
        uni.requireNativePlugin('AMap');
      }
    }
    

2. 地图组件渲染时机问题

  • 原因: 地图组件可能在页面未完全加载时就开始渲染,导致黑屏。
  • 解决方法: 确保在地图组件渲染前,页面已经完成加载。可以使用 v-if 控制地图组件的渲染时机:
    <template>
      <view>
        <map v-if="isMapReady" :latitude="latitude" :longitude="longitude" />
      </view>
    </template>
    
    <script>
    export default {
      data() {
        return {
          isMapReady: false,
          latitude: 39.90923,
          longitude: 116.397428
        };
      },
      onLoad() {
        setTimeout(() => {
          this.isMapReady = true;
        }, 500); // 延迟 500ms 确保页面加载完成
      }
    };
    </script>
    

3. 地图组件配置问题

  • 原因: 地图组件的配置参数(如 latitudelongitude)未正确设置,导致地图无法显示。
  • 解决方法: 确保地图组件的 latitudelongitude 参数正确设置,并且在地图组件渲染时这些参数已经准备好。

4. 高德地图 SDK 版本问题

  • 原因: 使用的高德地图 SDK 版本可能存在 Bug,导致地图黑屏。
  • 解决方法: 确保使用的 SDK 是最新版本,或者尝试回退到一个稳定的版本。

5. iOS 系统权限问题

  • 原因: iOS 系统可能限制了地图的渲染权限,导致地图黑屏。
  • 解决方法: 确保在 Info.plist 文件中正确配置了地图相关的权限,例如:
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>我们需要您的位置信息来提供地图服务</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>我们需要您的位置信息来提供地图服务</string>
回到顶部