Polygon<R extends Object> constructor
Polygon<R extends Object> ({
- required List<
LatLng> points, - List<
List< ? holePointsList,LatLng> > - Color? color,
- double borderStrokeWidth = 0,
- Color borderColor = const Color(0xFFFFFF00),
- bool disableHolesBorder = false,
- StrokePattern pattern = const StrokePattern.solid(),
- StrokeCap strokeCap = StrokeCap.round,
- StrokeJoin strokeJoin = StrokeJoin.round,
- String? label,
- TextStyle labelStyle = const TextStyle(),
- @Deprecated('Use `labelPlacementCalculator` with the equivalent calculator instead. ' 'Then, remove any arguments to this parameter and allow it to default. ' 'This enables more flexibility and extensibility. ' 'This was deprecated after v8.2.0, and will be removed in a future ' 'version.') PolygonLabelPlacement labelPlacement = PolygonLabelPlacement.centroid,
- PolygonLabelPlacementCalculator? labelPlacementCalculator,
- bool rotateLabel = false,
- R? hitValue,
Create a new Polygon instance by setting it's parameters.
Implementation
Polygon({
required this.points,
this.holePointsList,
this.color,
this.borderStrokeWidth = 0,
this.borderColor = const Color(0xFFFFFF00),
this.disableHolesBorder = false,
this.pattern = const StrokePattern.solid(),
this.strokeCap = StrokeCap.round,
this.strokeJoin = StrokeJoin.round,
this.label,
this.labelStyle = const TextStyle(),
// TODO: Remove `labelPlacement`, and make `labelPlacementCalculator`
// `this.` with default, then remove initialiser list
@Deprecated(
'Use `labelPlacementCalculator` with the equivalent calculator instead. '
'Then, remove any arguments to this parameter and allow it to default. '
'This enables more flexibility and extensibility. '
'This was deprecated after v8.2.0, and will be removed in a future '
'version.',
)
this.labelPlacement = PolygonLabelPlacement.centroid,
/// See [labelPlacementCalculator]
PolygonLabelPlacementCalculator? labelPlacementCalculator,
this.rotateLabel = false,
this.hitValue,
}) : _filledAndClockwise = color != null && isClockwise(points),
labelPlacementCalculator = labelPlacementCalculator ??
switch (labelPlacement) {
// ignore: deprecated_member_use_from_same_package
PolygonLabelPlacement.centroid =>
const PolygonLabelPlacementCalculator.centroid(),
// ignore: deprecated_member_use_from_same_package
PolygonLabelPlacement.centroidWithMultiWorld =>
const PolygonLabelPlacementCalculator
.simpleMultiWorldCentroid(),
// ignore: deprecated_member_use_from_same_package
PolygonLabelPlacement.polylabel =>
const PolygonLabelPlacementCalculator.polylabel(),
};