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

Android 平台 Google Maps 地图 Fragment 中 Sydney 标记无法显示问题求助

可能遗漏的配置&问题排查点

  • 权限配置缺失
    Google Maps运行需要网络、定位相关权限,必须在AndroidManifest.xml中添加以下声明:
    <!-- 加载地图瓦片必需的网络权限 -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- 基础定位权限,部分系统版本地图初始化需要 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    
  • Google Play服务版本声明缺失
    需要在AndroidManifest.xml的<application>标签内部添加Play服务版本声明,否则地图初始化会失败:
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    
  • 密钥配置错误
    确认Google Maps密钥正确配置在AndroidManifest.xml的<application>标签内部,格式如下:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="你的正式Google Maps密钥" />
    
    注意密钥必须和你在Google Cloud后台绑定的应用包名、签名指纹匹配,否则密钥不生效
  • 相机缩放等级未设置
    你当前的代码只将相机移动到悉尼坐标,但没有设置缩放等级,默认缩放等级极低,标记会缩在全球视图里无法看见,将移动相机的代码修改为带缩放参数的版本即可:
    // 缩放等级12f对应城市级视图,可以清晰看到标记
    googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 12f))
    
  • 运行时权限未申请
    如果你的应用targetSdkVersion≥23,即使在Manifest中声明了定位权限,也需要在加载地图前主动向用户申请运行时权限,权限未授予的情况下OnMapReadyCallback不会触发,自然无法加载标记。
  • 设备环境问题
    确认运行设备可以正常访问Google服务,且安装了符合版本要求的Google Play服务,服务异常时地图回调不会触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:54:07