android - 如何使用 Kotlin 在谷歌地图上添加标记?

标签 android google-maps kotlin

我是 Android 编程的初学者。我想通过点击 map 屏幕在该点添加标记。所以我尝试了下面的编码。但它不起作用。

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))
        }
    })
}

最佳答案

GoogleMap 上添加 Marker 之前,我建议清理 map 并将相机设置为新点击位置的动画。

希望对你有帮助:

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

    mMap.setOnMapClickListener(object :GoogleMap.OnMapClickListener {
        override fun onMapClick(latlng :LatLng) {
            // Clears the previously touched position
            mMap.clear();
            // Animating to the touched position
            mMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));

            val location = LatLng(latlng.latitude,latlng.longitude)
            mMap.addMarker(MarkerOptions().position(location))
        }
    })
}

关于android - 如何使用 Kotlin 在谷歌地图上添加标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60465435/

相关文章:

google-maps - Google map V3 信息框始终位于中心

json - 如何使用 Gson TypeAdapter 摆脱值(value)?

java - 在 Android 中重新字符串化一个字符串

android - 如何一次组合多个解析查询

android - "Permission Denial: receiving Intent "的原因

android - 电报、whatsapp、viber TCP 连接

javascript - 带有参数(托管图像的 URL)的 Ng map 标记图标不起作用

php - PHP 中通过变量将十进制度转换为小时、分钟、秒

android - 如果列为空,SQLiteCursor 会做什么?

kotlin - 将 `Pair`表示的新键值添加到 `MutableMap`