Я использую карты 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.