A versatile mapping package for Flutter. Simple and easy to learn, yet completely customizable and configurable, it's the best choice for mapping in your Flutter app.
The main aim of this change is to enable each element to update independently only when required.
The pre-projection and pre-simplification logic have been refactored into their own state which can be mixed in (and is to PolylineLayer and PolygonLayer).
Performance results:
There is little overall change (perhaps +<1ms on UI/build)
On the stress test, update times have not changed much, but may have increased a bit - as expected
It is expected that in many cases, this will improve efficiency of updates, because only the elements that have updated will need to be re-projected and re-simplified
TLDR; there should be some overall noticeable change, except for extremely large samples where all elements change at once, where the behaviour can be manually controlled instead (see below) - middle-size and smaller samples where only a couple elements change, or normal usage, should be better off (also see below)
Additionally, this fixes #1894. Unless useDynamicUpdate is disabled, in which case, Keys have been recommended to refresh the widget manually. This approach has been recommended in some cases: see the in-code docs.
The default simplificationTolerance has also been lowered to 0.3. This gives perfectly acceptable performance (very similar to 0.5 as before), but reduced visual artifacts.
The main aim of this change is to enable each element to update independently only when required.
The pre-projection and pre-simplification logic have been refactored into their own state which can be mixed in (and is to
PolylineLayer
andPolygonLayer
).Performance results:
Additionally, this fixes #1894. Unless
useDynamicUpdate
is disabled, in which case,Key
s have been recommended to refresh the widget manually. This approach has been recommended in some cases: see the in-code docs.The default
simplificationTolerance
has also been lowered to 0.3. This gives perfectly acceptable performance (very similar to 0.5 as before), but reduced visual artifacts.