Kotlin中Google Maps无法加载问题求助
Android Kotlin项目Google Maps加载异常:OnMapReady触发但地图仅显示应用背景
问题描述
开发Kotlin Android应用时,导航到地图Activity后,地图区域仅显示应用背景,但OnMapReady()方法已正常触发。此前在另一项目中使用完全相同的逻辑可正常加载地图,当前项目Logcat无错误日志,仅存在一个在正常项目中也会出现的黄色警告。
已完成以下排查但问题未解决:
- 核对Google Maps相关依赖版本并同步完成
- 检查Manifest中的权限、API密钥(
MAPS_API_KEY)配置 - 验证API密钥已启用Maps SDK for Android,且绑定了正确的SHA-1指纹与应用包名
相关代码及配置
1. 地图Activity代码
class MapsActivity : AppCompatActivity(), OnMapReadyCallback { private lateinit var mMap: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps) val mapFragment = supportFragmentManager.findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(googleMap: GoogleMap) { mMap = googleMap Log.d("MapsDebug", "OnMapReady已触发") // 测试添加标记 val sydney = LatLng(-34.0, 151.0) mMap.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney")) mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)) } }
2. 布局文件(activity_maps.xml)
<fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapsActivity" />
3. Manifest配置片段
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <application ...> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/MAPS_API_KEY" /> <activity android:name=".MapsActivity" android:exported="true" /> </application>
4. 依赖配置(Module级别build.gradle)
dependencies { implementation 'com.google.android.gms:play-services-maps:18.2.0' // 其他项目依赖... }
求可行的排查方向或解决方案,感谢!
内容的提问来源于stack exchange,提问作者Jurij Dolenc
相关产品推荐
相关产品推荐

