繁体   English   中英

当您使用谷歌地图和 Kotlin Android 单击不同的标记时如何更改 intent.putExtra

[英]How change the intent.putExtra when you click in a different marker with google map & Kotlin Android

如果我使用 Kotlin Android 在我的谷歌地图中点击不同的标记,我想要一个不同的 putExtra。

    mMap.addMarker(
            MarkerOptions()
                .position(concessionnaireTest)
                .title("test")
                .snippet("Numéro : *******")
                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))

            )

    mMap.addMarker(
        MarkerOptions()
            .position(concessionnaireTestsecond)
            .title("test2")
            .snippet("Numéro : *******")
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE))

            )

    mMap.moveCamera(CameraUpdateFactory.newLatLng(concessionnaireTest))



    mMap.setOnInfoWindowClickListener {

        intent.putExtra("info", "testing")
        startActivity(intent)

    }

感谢您的帮助

也许使用 setOnMarkerClickListener,您将可以访问被点击的标记对象,并从中获取数据,例如 .marker.getSnippet 或 marker.getTitle

添加标记时添加标记参数,并根据标记检查标记点击,如下所示:

 mMap.addMarker(
        MarkerOptions()
            .position(concessionnaireTest)
            .title("test")
            .snippet("Numéro : *******")
            .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)))?.tag="test1"



mMap.addMarker(
    MarkerOptions()
        .position(concessionnaireTestsecond)
        .title("test2")
        .snippet("Numéro : *******")
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE)))?.tag="test2"



mMap.moveCamera(CameraUpdateFactory.newLatLng(concessionnaireTest))

以下是添加标记单击侦听器并根据标记传递意图附加内容的方法:

mMap?.setOnMarkerClickListener { marker ->
        val markerTag = marker?.tag
        markerTag?.let {
            when (markerTag) {
                "test1" -> {
                    intent.putExtra("info", "testing1")
                    startActivity(intent)

                }
                "test2" -> {
                    intent.putExtra("info", "testing2")
                    startActivity(intent)

                }
                else -> {

                }
            }
        }
        true
    }

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM