Я использую библиотеку Yandex Map Kit для Android и хочу получить информацию о позиции касания пользователя и краткую информацию.Я установил tapListener для сопоставления, но он не вызывается (журнал не отправляется в консоль).Я правильно инициализировал карты, поэтому не вижу проблем с ними (они видны и прокручиваются).
Я пытался использовать анонимный класс вместо лямбды, я пытался установить прослушиватель касаний на другихВиджеты Map Kit (такие как MapView.Map.MapObjects), но не повезло.
Вот как я настраиваю слушателя:
mapsHelper.let {
it.clickListener = { tapEvent ->
Log.d("mapTapEvent", tapEvent.geoObject.toString())
true
}
}
в MapsHelper:
var clickListener: ((tapEvent: GeoObjectTapEvent) -> Boolean)? = null
fun initMaps(mapView: MapView) {
mapView.map?.setMapLoadedListener {
clickListener?.let { listener -> mapView.map.addTapListener(listener) }
}
}
Я ожидаю, что когда пользователь нажмет на карту, он выведет точку щелчка и краткие данные о месте в консоль.Я нашел только одно упоминание об этой проблеме: https://github.com/yandex/mapkit-android-demo/issues/19
«Объекты прослушивателя, которые сообщают о результате повторных операций или состоянии объекта, должны явно храниться в памяти».
Но я этого не понял.Я пытался поместить слушателя в объект-компаньон, но это не помогло.