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

Expo+Maplibre React Native Android应用无地图显示问题求助

解决Android端Maplibre地图不显示的问题

针对你遇到的情况,以下是几个需要排查的关键点:

  • 容器样式未设置占满空间
    你的最外层<View>没有应用任何样式,且styles.container未定义,导致地图所在的容器没有足够的显示空间。修改方式:

    1. 将最外层<View>改为<View style={styles.page}>
    2. 补充container样式:
      container: {
        flex: 1,
        width: '100%',
        height: '100%',
      }
      

    确保地图容器能占满可用区域。

  • 添加Android网络权限
    地图加载需要网络请求,需在app.json的android.permissions中添加INTERNET权限:

    "android": {
      "permissions": ["INTERNET"]
    }
    

    没有这个权限的话,Android会拦截地图瓦片和样式文件的请求,导致地图无法显示。

  • 验证Maptiler API密钥有效性
    直接在浏览器中访问你的styleURL(替换<my-token>为实际密钥),检查是否能正常返回JSON样式文件。如果返回401/403错误,说明密钥无效或未开通对应地图样式的权限,需要去Maptiler后台确认密钥配置。

  • 检查EAS Build的构建配置
    确保eas.json中的Android构建使用的是managed workflow,且没有自定义gradle配置覆盖了Maplibre插件的设置。如果是bare workflow,需要手动确认build.gradle中已添加Maplibre的依赖:

    implementation 'org.maplibre.gl:android-sdk:9.5.0'
    

    (版本号以当前使用的库版本为准)

  • 调整Maplibre初始化设置
    尝试移除MapLibreGL.setConnected(true),让库自动检测网络状态。部分Android设备上手动设置网络状态可能导致异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:20:12