2017-12-20 6 views
2



Ich schreibe eine Anwendung mit Kotlin und GoogleMap. Ich habe die Karte und ich habe versucht, einen OnMapClick-Listener zu setzen, der nur eine Nachricht protokolliert. Der Build ist in Ordnung, aber wenn ich auf die Karte klicke, passiert nichts.
Ich habe nach Dokumentation gesucht, aber ich habe nichts über ein Problem wie dieses gefunden.

Hier ist der Code der Karte:

MapOnClickListener scheint nicht zu funktionieren

class map : FragmentActivity(), OnMapReadyCallback { 
    private var mMap: GoogleMap? = null 

    override fun onMapReady(googleMap: GoogleMap) { 
     mMap = googleMap 
     mMap?.setOnMapClickListener { 
      GoogleMap.OnMapClickListener { p0 -> Log.d("Map", p0.toString()) } 
     } 
    } 
} 

ich eine Menge Dokumentation über GoogleMap in Java gefunden, aber nichts in Kotlin, so habe ich versucht, dies durch meine eigenen. Danke, dass Sie mir geholfen haben, herauszufinden, was mit diesem Code nicht stimmt.

+1

Versuchen Sie, den Code zu 'setOnMapClickListener (GoogleMap.on [...])' – s1m0nw1

+0

Es funktioniert, danke, ich habe nicht einmal über dies. –

+0

Gern geschehen. Ich habe dies zu einer Antwort gemacht, die Sie akzeptieren können – s1m0nw1

Antwort

1

Sie geben Lambda an setOnMapClickListener mit {} weiter. In der Tat, Sie wollen einfach die GoogleMap.OnMapClickListener als ein Argument übergeben, die mit Klammern arbeiten wird. Ändern Sie also Ihren Code zu setOnMapClickListener(GoogleMap.OnMapClickListener())

Verwandte Themen