TileUpdateTransformer typedef
Restricts and limits TileUpdateEvents (which are emitted 'by' MapEvents),
which cause the tiles of the TileLayer to update (see below).
When a MapEvent occurs, a TileUpdateEvent is also emitted (containing
that event) by the internals. However, it is sometimes unnecessary for all
MapEvents to result in a TileUpdateEvent, which can be expensive and
time-consuming. Alternatively, some TileUpdateEvents may be grouped
together to reduce the rate at which tiles are updates.
By default, TileUpdateEvents both prune old tiles and load new tiles, as necessary. However, this may not also be required.
A TileUpdateTransformer transforms/converts the incoming stream of
TileUpdateEvents (one per every MapEvent) into a 'new' stream of
TileUpdateEvents, at any rate, with any desired pruning/loading
configuration.
TileUpdateTransformers defines a built-in set of transformers. TileLayer
uses TileUpdateTransformers.ignoreTapEvents by default.
If neccessary, you can build your own using StreamTransformer, usually
StreamTransformer.fromHandlers, adding events to the exposed EventSink
if the incoming event should cause an update. Most implementations should
check TileUpdateEvent.wasTriggeredByTap before emitting an event, and
avoid emitting an event if this is true.
Implementation
typedef TileUpdateTransformer
= StreamTransformer<TileUpdateEvent, TileUpdateEvent>;