marker_motion 0.1.5
marker_motion: ^0.1.5 copied to clipboard
A flutter package that smoothly animates Google Maps markers between two positions
0.1.5 #
This release improves marker animation stability on Android when using
MotionImplementation.timer.
- Reworked timer-mode updates to use a frame-synced ticker instead of
Timer.periodic, which helps reduce visible marker flicker. - Kept marker appearance stable while it moves by only animating position during the transition (instead of reapplying all marker properties every frame).
- Applied the latest full marker data once movement completes so non-position updates still land correctly.
0.1.4 #
This release focuses on making marker updates more efficient and the package more reliable.
- Improved marker update performance by replacing repeated linear marker lookups with fast marker-id map lookups in both animation implementations.
- Reduced per-frame overhead in timer mode by removing debug logging during animation ticks.
- Ensured timer mode correctly respects
MarkerMotionConfig.frameRatefromMarkerMotion. - Hardened timer step calculation for very short durations to avoid edge-case timing issues.
- Greatly expanded and refactored the test suite:
- Added comprehensive behavior tests for animation and timer implementations, including no-op updates, add/remove flows, mid-flight retargeting, empty transitions, rapid updates, remove/re-add flows, tiny delta movements, and dispose safety.
- Added implementation-specific tests for animation curve/duration updates and timer frame-rate behavior/cancellation.
- Added configuration assertion tests for invalid
MarkerMotionConfigcombinations. - Simplified test structure with shared helpers and table-driven coverage to improve readability and maintainability.
0.1.3 #
- Make sure that the frame rate is between 1 - 120 (inclusive).
- Update the README
0.1.2 #
Fixed formatting.
0.1.1 #
Reformatted code for pub points.
0.1.0 #
Initial release of the marker_motion package. Using the MarkerMotion widget you can animate multiple markers on a GoogleMap widget between two positions. It also allows you to choose the underlying implementation to use either an AnimationController driven animation, or a simpler Timer based one.