Fix Flutter GPS Routing

Job ID: 40175776

Budget: ₹1,500 – ₹12,500 INR

My Flutter-based Android app records a user’s journey by logging latitude / longitude in real time, then drawing the polyline on a Google Map. At the moment the line regularly jumps to side streets or cuts across intersections, so the visual route is plainly wrong. It happens most often when the device is near several parallel or intersecting roads, yet the GPS lock itself is strong and continuous. I have not added any kind of Kalman, moving-average, or map-matching logic—every raw coordinate is plotted as it arrives—so noise is obviously getting through.

I need someone who can dive into the existing Dart code, diagnose the cause, and implement a practical fix. I am open to any proven technique—Kalman filter, running average, bearing-based smoothing, or even snapping points to the nearest road with the Google Roads or Mapbox Map-matching API—so long as the displayed path follows the real world track within a few metres and does not introduce noticeable lag.

Please be comfortable working with:
• Flutter 3.x, Dart, and Android SDK
• geolocator / location / google_maps_flutter (currently in the project)
• Stream-based location updates at ~1 s intervals

The job is finished when:
• The recorded polyline no longer wanders off the travelled road during typical city drives.
• Code is clean, commented, and pushed to my private Git repository.
• A short note explains the chosen algorithm and any tunable parameters so I can adjust them later.

If you have already tackled GPS noise or map-matching challenges in mobile apps, let’s sort this out quickly.