Yandex Map Kit:未调用点击监听器的功能

时间:2019-02-12 21:56:32

标签: kotlin maps yandex yandex-maps yandex-api

我使用Android的Yandex Map Kit库,希望获取用户的触摸位置和简要信息。我已将tapListener设置为映射,但未调用它(没有日志发送到控制台)。我已经正确初始化了地图,所以我看不到它们的问题(它们可见且可滚动)。

我试图使用匿名类代替lambda,我试图在其他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

  

“报告重复操作结果或   对象的状态必须显式存储在内存中。”

但是我不明白。我试图将侦听器放入同伴对象,但这没有帮助。

0 个答案:

没有答案