Unact / yandex_mapkit

Flutter implementation of YandexMapkit
MIT License
132 stars 151 forks source link

Возможен тап одним пальцем сразу на два маркера #285

Closed subzero911 closed 11 months ago

subzero911 commented 1 year ago

Если смасштабировать карту так, чтобы 2 маркера находились очень близко друг к другу (но не объединялись в кластер) и тапнуть так, чтобы пальцем попасть сразу на оба - на обоих отработает коллбэк onTap(). Считаю данное поведение нежелательным. Например, у нас из-за этого открываются сразу две деталки (накладываются друг на друга), пришлось делать костыль, чтобы сразу обе закрывать.

https://user-images.githubusercontent.com/12999702/199408334-9bd10cf1-be67-46cc-9fae-df87967b56b3.MP4

igieske commented 1 year ago
PlacemarkMapObject(
  ...
  consumeTapEvents: true,
)
DCrow commented 11 months ago

Добрый день!

Тут, как @igieske пишет, надо для точки использовать consumeTapEvents: true, и распределять их по zIndex, чтобы определять какую из точек раньше обработать. По другому сделать не получится, так как обработка событий на native стороне всегда происходит асинхронно. Единственный способ это решить, это чтобы команда яндекс написала либу под флаттер через ffi.