Как изменить intent.putExtra при нажатии на другой маркер с картой Google & Kotlin Android - PullRequest
0 голосов
/ 31 января 2020

Я хочу иметь другой putExtra, если я нажму с другим маркером на моей карте Google с Kotlin Android.

    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)

    }

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Добавление параметра тега при добавлении маркера и проверка щелчка маркера в соответствии с тегом, как показано ниже:

 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
    }

Надеюсь, это поможет!

0 голосов
/ 31 января 2020

Возможно, используйте setOnMarkerClickListener, у вас будет доступ к объекту маркера, на который вы нажали, и вы получите от него данные, например .marker.getSnippet или marker.getTitle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...