Android - маркер GoogleMap - как отменить клики? - PullRequest
0 голосов
/ 12 марта 2019

Я использую карты Google, и у меня есть маркеры, которые прослушивают события нажатия, используя onMarkerClickedListener .

Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно замедлить нажатие.Мне нужно, по существу, отменить клики, чтобы клики снимались только каждые 2 секунды.Проблема, с которой я столкнулся, заключается в том, что маркер, возвращаемый из интерфейса щелчка, не является ПРОСМОТРОМ.поэтому я не могу отключить щелчки на несколько секунд с помощью RxAndroid или даже создать собственный декоратор для прослушивателя щелчков.

Я думал, что смогу использовать RxJava и создавать эмиссию при каждом нажатии на маркер.В любом случае позвольте мне показать вам текущую настройку:

// это оборачивает любой onMarkerClickedListener и пытается замедлить события, полностью отключив карту, но она не работает.маркеры не отключаются.

 inner class OnMarkerClickRateLimitedDecorator(private val onMarkerClickedListener: OnMarkerClickListener, private val delay: Long) : OnMarkerClickListener {
        override fun onMarkerClick(marker: Marker?): Boolean {
            googleMap.uiSettings.isScrollGesturesEnabled = false
                googleMap.uiSettings.isZoomGesturesEnabled = false //these uiSettings aren't even what im looking for , i just want to disable markers but no api is available for that, so tried it that way
            val isConsumed = onMarkerClickedListener.onMarkerClick(marker)
            Handler().postDelayed({ 
                googleMap.uiSettings.isScrollGesturesEnabled = true
                googleMap.uiSettings.isZoomGesturesEnabled = true

             }, delay)
            return isConsumed
        }
    }

Is there a way i can do this with RxJava. 
...