You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中OSM地图无法显示及updateAcquireFence报错解决求助

解决Flutter集成OSM地图时的E/FrameEvents报错与地图不显示问题

针对你遇到的E/FrameEvents(6080): updateAcquireFence: Did not find frame报错及地图无法显示问题,结合你的配置和代码,给出以下可行解决步骤:

1. 调整MapController初始化时机

直接在State类中初始化MapController可能导致资源加载时机异常,建议将初始化移至initState方法中:

late MapController controller;

@override
void initState() {
  super.initState();
  // 延迟初始化控制器,确保Widget上下文已就绪
  controller = MapController(
    initPosition: GeoPoint(latitude: 47.4358055, longitude: 8.4737324),
  );
}

2. 动态申请位置权限

尽管已在AndroidManifest.xml中声明权限,但Android 6.0+需要动态申请位置权限才能让地图正常加载定位相关资源:

  1. 添加permission_handler依赖到pubspec.yaml:
    dependencies:
      permission_handler: ^11.0.1
    
  2. 在MapScreen的initState中申请权限:
    import 'package:permission_handler/permission_handler.dart';
    
    @override
    void initState() {
      super.initState();
      _requestLocationPermission();
      controller = MapController(
        initPosition: GeoPoint(latitude: 47.4358055, longitude: 8.4737324),
      );
    }
    
    Future<void> _requestLocationPermission() async {
      final status = await Permission.location.request();
      if (!status.isGranted) {
        // 可在此添加权限拒绝后的提示逻辑
      }
    }
    

3. 修正控制器释放顺序

当前dispose方法中先调用super.dispose()会导致控制器资源未正确释放,调整顺序:

@override
void dispose() {
  controller.dispose();
  super.dispose();
}

4. 禁用硬件加速(针对帧报错)

updateAcquireFence报错常与Android硬件加速冲突,在AndroidManifest.xml的对应activity标签中添加禁用配置:

<activity
  android:name=".MainActivity"
  android:hardwareAccelerated="false">
  <!-- 其他配置 -->
</activity>

5. 验证插件版本兼容性

compileSdk 34可能与旧版flutter_osm_plugin存在兼容性问题,升级插件至最新稳定版:

dependencies:
  flutter_osm_plugin: ^0.49.0 # 以实际最新版本为准

6. 测试初始化位置有效性

可临时切换至已知有效的经纬度(如北京:39.904200, 116.407396),排除位置坐标异常导致的加载问题:

controller = MapController(
  initPosition: GeoPoint(latitude: 39.904200, longitude: 116.407396),
);

内容的提问来源于stack exchange,提问作者Muntasir Ashif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 22:58:31