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

Kotlin中GoogleMap.setOnMapClickListener点击无响应问题咨询

Google Map点击无响应,无法添加标记

我想借助GoogleMap API实现点击MapView时在点击位置添加标记,编写了如下代码:

class MapsActivity : FragmentActivity(), OnMapReadyCallback, GoogleMap.OnMapClickListener {

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

    // Set the map click listener
    mMap.setOnMapClickListener(this)
}

override fun onMapClick(latLng: LatLng) {
    // Handle map click event
    // For example, you can add a marker at the clicked location
    mMap.addMarker(MarkerOptions().position(latLng).title("Marker at Clicked Location"))

    // Move camera to the clicked location
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng))
}

但点击地图时应用完全没有响应,请问这是什么原因?


可能的原因及解决办法:

  • 权限或API配置问题

    1. 检查AndroidManifest.xml是否添加了必要权限:
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      
      同时要确保添加Maps SDK依赖库声明:
      <uses-library android:name="com.google.android.gms.maps" />
      
    2. Android 6.0及以上版本需要动态申请位置权限,未授予权限会导致地图初始化异常,点击事件失效。
    3. 确认Google Cloud控制台的API密钥有效:已启用Maps SDK for Android,且密钥绑定了正确的应用包名和SHA-1指纹。
  • 地图初始化未完成
    在onMapReady方法中添加日志输出,确认该方法是否正常回调:

    override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap
        Log.d("MapsActivity", "地图已初始化完成")
        mMap.setOnMapClickListener(this)
    }
    

    如果日志未打印,说明地图加载失败,重点排查API密钥配置和网络连接(地图加载需要联网)。

  • 布局被遮挡
    检查activity_maps.xml,确认MapFragment没有被其他View(比如透明布局)覆盖,这类View会拦截点击事件,导致地图无法接收点击。可暂时移除非必要View测试。

  • 监听被意外覆盖
    排查代码中是否有其他逻辑在onMapReady之后,调用了mMap.setOnMapClickListener(null)或设置了其他点击监听,覆盖了原本的配置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:31:17