Description
What do you want implemented?
The current integration of polylabel is not very well performance optimized. By implementing our own port of polylabel, we can:
- have better performance
- decrease our dependance on 3rd party packages
What other alternatives are available?
No response
Can you provide any other information?
Current usage of the polylabel
package:
LatLng _computePolylabel(List<LatLng> points) {
final labelPosition = polylabel(
[
List<math.Point>.generate(points.length,
(i) => math.Point(points[i].longitude, points[i].latitude)),
],
// "precision" is a bit of a misnomer. It's a threshold for when to stop
// dividing-and-conquering the polygon in the hopes of finding a better
// point with more distance to the polygon's outline. It's given in
// point-units, i.e. degrees here. A bigger number means less precision,
// i.e. cheaper at the expense off less optimal label placement.
precision: 0.000001,
);
return LatLng(
labelPosition.point.y.toDouble(),
labelPosition.point.x.toDouble(),
);
}
Severity
Minimum: Not required for my use