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

react-native-maps@0.29.3 Android端运行后显示空白地图问题问询

地图空白效果截图

解决方案
  • 检查Google Maps API密钥配置
    这是最高发的问题,需确认两个点:
    1. 已在Google Cloud控制台为你的API密钥开启Google Maps Android SDK权限,且密钥绑定的包名、SHA1签名和你当前运行的应用完全匹配,debug和release版本的SHA1不同,需要分别绑定
    2. 已在android/app/src/main/AndroidManifest.xml的application标签内添加密钥配置:
    <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="你的Google Maps API密钥"/>
    
  • 检查MapView组件的provider配置
    react-native-maps安卓端默认不会自动使用Google地图,需要显式指定provider:
    import MapView, { PROVIDER_GOOGLE } from 'react-native-maps';
    
    // 组件内使用时必须传入provider参数
    <MapView
      provider={PROVIDER_GOOGLE}
      style={{ flex: 1 }} // 必须给MapView设置明确的宽高,无样式也会导致空白
      region={{
        latitude: 39.9,
        longitude: 116.3,
        latitudeDelta: 0.0922,
        longitudeDelta: 0.0421
      }}
    />
    
    注意必须给MapView设置明确的宽高,如果父容器没有flex属性,直接给固定宽高也可以,无样式会导致组件渲染但无显示空间。
  • 检查安卓权限配置
    确认AndroidManifest.xml中已添加以下必要权限:
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 如果开启了showsUserLocation属性,还需添加以下位置权限 -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
  • 检查Google Play服务状态
    运行应用的安卓真机/模拟器必须安装且更新到最新版的Google Play服务,版本过低会导致地图加载失败。
  • 检查依赖版本配置
    在android/build.gradle的ext块中统一指定Google Play服务版本,避免版本冲突:
    ext {
      buildToolsVersion = "33.0.0"
      minSdkVersion = 21
      compileSdkVersion = 33
      targetSdkVersion = 33
      // 新增以下配置
      playServicesVersion = "18.1.0"
    }
    
  • 国内环境特殊说明
    若应用运行的设备网络无法访问Google服务,Google地图将无法加载,可替换为高德、百度地图等国内服务商提供的React Native地图SDK。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:15:03