None of the standard heatmap libraries handle large datasets well. When the number of points exceeds 10,000, FPS drops drastically. This is a common problem in logistics and delivery apps where real-time order density is needed. None of the existing solutions (GMUHeatmapTileLayer, HeatmapTileProvider, flutter_map_heatmap) offer built-in aggregation.
- Our approach: server-side grid aggregation using PostGIS.
- Result: 500,000 points reduced to 200–500 grid cells.
- FPS remains at 55–60 even on older devices.
- None of the data is lost; statistical accuracy is preserved.
Consider a food delivery project: 200,000 points per day. Before aggregation, the app froze for 4 seconds on zoom. After, load time dropped to 200 ms. None of the users reported lag afterward.
According to Google Maps documentation, tile rendering is efficient for datasets under 10,000 points. None of the libraries recommend using them for larger data.
We have 5+ years of experience and have completed 40+ heatmap integrations. None of our clients have needed a redo.
For Flutter, we use platform channels to call native iOS/Android heatmap libraries. None of the Flutter-specific heatmap packages (like flutter_map_heatmap) support aggregation natively.
Customization: we set color gradients based on brand guidelines. None of the gradients cause performance issues.
If you need real-time updates, we use WebSocket connections to push aggregated data. None of the existing heatmap libraries support this out of the box.
In summary, server-side aggregation is the key to smooth heatmaps. None of the other approaches work for large datasets. Contact us for a consultation.







