【问题标题】:Why setOnMapClickListener is not working in Kotlin?为什么 setOnMapClickListener 在 Kotlin 中不起作用?
【发布时间】:2021-04-10 20:29:15
【问题描述】:

我想在点击地图时记录一条消息。但是当我点击时没有任何反应。 我的 kotlin 代码如下:

class MainActivity : FragmentActivity(),OnMapReadyCallback,GoogleMap.OnMapClickListener{
    lateinit var map: GoogleMap
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onMapReady(googleMap: GoogleMap) {
        map=googleMap
        map.setOnMapClickListener(this)
    }
    override fun onMapClick(p0: LatLng?) {
        Log.d("GoogleMap", "Clicked")
    }
}

【问题讨论】:

  • 有这方面的消息吗?

标签: android-studio kotlin google-maps-android-api-2


【解决方案1】:

您可以简单地使用以下方法,请注意使用模拟器进行测试时地图行为会出现问题:

override fun onMapReady(googleMap: GoogleMap) {
    mMap = googleMap

    mMap.setOnMapClickListener(object :GoogleMap.OnMapClickListener {
        override fun onMapClick(latlng :LatLng) {
            val location = LatLng(latlng.latitude,latlng.longitude)
            mMap.addMarker(MarkerOptions().position(location))
        }
    })
}

【讨论】:

    猜你喜欢
    • 2020-09-19
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多